• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Index类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.healthmarketscience.jackcess.Index的典型用法代码示例。如果您正苦于以下问题:Java Index类的具体用法?Java Index怎么用?Java Index使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Index类属于com.healthmarketscience.jackcess包,在下文中一共展示了Index类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: updateSecondaryValues

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private static void updateSecondaryValues(Joiner joiner, Object[] oldFromRow,
                                          Object[] newFromRow)
  throws IOException
{
  IndexCursor toCursor = joiner.getToCursor();
  List<? extends Index.Column> fromCols = joiner.getColumns();
  List<? extends Index.Column> toCols = joiner.getToIndex().getColumns();
  Object[] toRow = new Object[joiner.getToTable().getColumnCount()];

  for(Iterator<Row> iter = joiner.findRows(oldFromRow)
        .setColumnNames(Collections.<String>emptySet())
        .iterator(); iter.hasNext(); ) {
    iter.next();

    // create update row for "to" table
    Arrays.fill(toRow, Column.KEEP_VALUE);
    for(int i = 0; i < fromCols.size(); ++i) {
      Object val = fromCols.get(i).getColumn().getRowValue(newFromRow);
      toCols.get(i).getColumn().setRowValue(toRow, val);
    }

    toCursor.updateCurrentRow(toRow);
  }
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:25,代码来源:FKEnforcer.java


示例2: getName

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
public String getName() {
  if(_name == null) {
    if(_indexes.size() == 1) {
      _name = _indexes.get(0).getName();
    } else if(!_indexes.isEmpty()) {
      List<String> names = new ArrayList<String>(_indexes.size());
      for(Index idx : _indexes) {
        names.add(idx.getName());
      }
      _name = names.toString();
    } else {
      _name = String.valueOf(_number);
    }
  } 
  return _name;
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:17,代码来源:IndexData.java


示例3: addIndex

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
/**
 * Adds a logical index which this data is backing.
 */
void addIndex(Index index) {

  // we keep foreign key indexes at the back of the list.  this way the
  // primary index will be a non-foreign key index (if any)
  if(index.isForeignKey()) {
    _indexes.add(index);
  } else {
    int pos = _indexes.size();
    while(pos > 0) {
      if(!_indexes.get(pos - 1).isForeignKey()) {
        break;
      }
      --pos;
    }
    _indexes.add(pos, index);

    // also, keep track of whether or not this is a primary key index
    _primaryKey |= index.isPrimaryKey();
  }

  // force name to be regenerated
  _name = null;
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:27,代码来源:IndexData.java


示例4: nullSecondaryValues

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private static void nullSecondaryValues(Joiner joiner, Object[] oldFromRow)
  throws IOException
{
  IndexCursor toCursor = joiner.getToCursor();
  List<? extends Index.Column> fromCols = joiner.getColumns();
  List<? extends Index.Column> toCols = joiner.getToIndex().getColumns();
  Object[] toRow = new Object[joiner.getToTable().getColumnCount()];

  for(Iterator<Row> iter = joiner.findRows(oldFromRow)
        .setColumnNames(Collections.<String>emptySet())
        .iterator(); iter.hasNext(); ) {
    iter.next();

    // create update row for "to" table
    Arrays.fill(toRow, Column.KEEP_VALUE);
    for(int i = 0; i < fromCols.size(); ++i) {
      toCols.get(i).getColumn().setRowValue(toRow, null);
    }

    toCursor.updateCurrentRow(toRow);
  }
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:23,代码来源:FKEnforcer.java


示例5: checkIndexEntries

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private static void checkIndexEntries(final TestDB testDB, Table t, Index index) throws Exception
  {
//         index.initialize();
//         System.out.println("Ind " + index);

    Cursor cursor = CursorBuilder.createCursor(index);
    while(cursor.moveToNextRow()) {

      Row row = cursor.getCurrentRow();
      Cursor.Position curPos = cursor.getSavepoint().getCurrentPosition();
      boolean success = false;
      try {
        findRow(testDB, t, index, row, curPos);
        success = true;
      } finally {
        if(!success) {
          System.out.println("CurPos: " + curPos);
          System.out.println("Value: " + row + ": " + 
                             toUnicodeStr(row.get("data")));
        }          
      }
    }
    
  }
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:25,代码来源:IndexCodesTest.java


示例6: x_testReadAllCodesMdb

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
public void x_testReadAllCodesMdb() throws Exception
  {
//     Database db = openCopy(new File("/data2/jackcess_test/testAllIndexCodes.mdb"));
//     Database db = openCopy(new File("/data2/jackcess_test/testAllIndexCodes_orig.mdb"));
//     Database db = openCopy(new File("/data2/jackcess_test/testSomeMoreCodes.mdb"));
    Database db = openCopy(Database.FileFormat.V2000, new File("/data2/jackcess_test/testStillMoreCodes.mdb"));
    Table t = db.getTable("Table5");

    Index ind = t.getIndexes().iterator().next();
    ((IndexImpl)ind).initialize();
    
    System.out.println("Ind " + ind);

    Cursor cursor = CursorBuilder.createCursor(ind);
    while(cursor.moveToNextRow()) {
      System.out.println("=======");
      String entryStr = 
        entryToString(cursor.getSavepoint().getCurrentPosition());
      System.out.println("Entry Bytes: " + entryStr);
      System.out.println("Value: " + cursor.getCurrentRow() + "; " +
                         toUnicodeStr(cursor.getCurrentRow().get("data")));
    }

    db.close();
  }
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:26,代码来源:IndexCodesTest.java


示例7: x_testReadIsoMdb

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
public void x_testReadIsoMdb() throws Exception
  {
//     Database db = open(new File("/tmp/test_ind.mdb"));
//     Database db = open(new File("/tmp/test_ind2.mdb"));
    Database db = open(Database.FileFormat.V2000, new File("/tmp/test_ind3.mdb"));
//     Database db = open(new File("/tmp/test_ind4.mdb"));

    Table t = db.getTable("Table1");
    Index index = t.getIndex("B");
    ((IndexImpl)index).initialize();
    System.out.println("Ind " + index);

    Cursor cursor = CursorBuilder.createCursor(index);
    while(cursor.moveToNextRow()) {
      System.out.println("=======");
      System.out.println("Savepoint: " + cursor.getSavepoint());
      System.out.println("Value: " + cursor.getCurrentRow());
    }
    
    db.close();
  }
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:22,代码来源:IndexCodesTest.java


示例8: createTables

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
/**
 * Iterate over the MDB database and create SQLite tables for every table
 * defined in the MS Access database.
 * 
 * @param jdbc The SQLite database JDBC connection
 */
@SuppressWarnings("unchecked")
private static void createTables(Database mdb, SqlJetDb sqlite) throws Exception {
	for (String tableName : mdb.getTableNames()) {
		Table table = mdb.getTable(tableName);
		sqlite.beginTransaction(SqlJetTransactionMode.WRITE);
		try {
			sqlite.createTable(MDB2SQLite.createTableStatement(table));
			for (Index index : (List<Index>) table.getIndexes()) {
				sqlite.createIndex(MDB2SQLite.createIndexStatement(index));
			}
		} finally {
			sqlite.commit();
		}
	}
}
 
开发者ID:mbrigl,项目名称:mdb2sqlite,代码行数:22,代码来源:MDB2SQLite.java


示例9: getCursor

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
public Cursor getCursor() throws IOException {
	Index idx = getBestIndex();
	Cursor cursor;
	CursorBuilder cb=table.newCursor();
	if (idx == null)
		cursor = cb.toCursor();
	else
		cursor = cb.setIndex(idx).toCursor();
	cursor.setColumnMatcher(new ColumnMatcher());
	return cursor;
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:12,代码来源:IndexSelector.java


示例10: commaSeparated

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private String commaSeparated(List<? extends Index.Column> columns) {
	String comma = "";
	StringBuffer sb = new StringBuffer(" (");
	for (Index.Column cd : columns) {
		sb.append(comma)
				.append(SQLConverter.escapeIdentifier(cd.getColumn()
						.getName()));
		comma = ",";
	}
	return sb.append(") ").toString();
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:12,代码来源:LoadJet.java


示例11: loadForeignKey

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private void loadForeignKey(Index idxi) throws IOException, SQLException {
	IndexImpl idx=(IndexImpl)idxi;
	String ntn = SQLConverter
			.escapeIdentifier(idx.getTable().getName());
	if(ntn==null)return;
	String nin = SQLConverter.escapeIdentifier(idx.getName());
	nin = (ntn + "_" + nin).replaceAll("\"", "").replaceAll("\\W", "_");
	String colsIdx = commaSeparated(idx.getColumns());
	String colsIdxRef = commaSeparated(idx.getReferencedIndex()
			.getColumns());
	StringBuffer ci = new StringBuffer("ALTER TABLE ").append(ntn);
	ci.append(" ADD CONSTRAINT ").append(nin);
	String nrt = SQLConverter.escapeIdentifier(idx.getReferencedIndex()
			.getTable().getName());
	if(nrt==null)return;
	ci.append(" FOREIGN KEY ").append(colsIdx).append(" REFERENCES ")
			.append(nrt).append(colsIdxRef);
	//riw
	
	if (idx.getReference().isCascadeDeletes()) {
		ci.append(" ON DELETE CASCADE ");
	}
	if (idx.getReference().isCascadeUpdates()) {
		ci.append(" ON UPDATE CASCADE ");
	}
	try {
		execCreate(ci.toString(),true);
	} catch (SQLException e) {
		if (e.getErrorCode() == HSQL_FK_ALREADY_EXISTS) {
			Logger.log(e.getMessage());
		} else
			throw e;
	}
	loadedIndexes.add("FK on " + ntn + " Columns:" + colsIdx
			+ " References " + nrt + " Columns:" + colsIdxRef);
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:37,代码来源:LoadJet.java


示例12: loadIndex

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private void loadIndex(Index idx) throws IOException, SQLException {
	String ntn = SQLConverter
			.escapeIdentifier(idx.getTable().getName());
	if(ntn==null)return;
	String nin = SQLConverter.escapeIdentifier(idx.getName());
	nin = (ntn + "_" + nin).replaceAll("\"", "").replaceAll("\\W", "_");
	boolean uk = idx.isUnique();
	boolean pk = idx.isPrimaryKey();
	StringBuffer ci = new StringBuffer("ALTER TABLE ").append(ntn);
	String colsIdx = commaSeparated(idx.getColumns());
	if (pk) {
		ci.append(" ADD PRIMARY KEY ").append(colsIdx);
	} else if (uk) {
		ci.append(" ADD CONSTRAINT ").append(nin);
		ci.append(" UNIQUE ").append(colsIdx);
	} else {
		ci = new StringBuffer("CREATE INDEX ").append(nin)
				.append(" ON ").append(ntn).append(colsIdx);
	}
	try {
		execCreate(ci.toString(),true);
	} catch (Exception e) {
		if (idx.isUnique()) {
			for (Index.Column cd : idx.getColumns()) {
				if (cd.getColumn().getType()
						.equals(DataType.COMPLEX_TYPE)) {
					return;
				}
			}
		}
		Logger.logWarning(e.getMessage());
		return;
	}
	String pre = pk ? "Primary Key " : uk ? "Index Unique " : "Index";
	loadedIndexes.add(pre + " on " + ntn + " Columns:" + colsIdx);
	
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:38,代码来源:LoadJet.java


示例13: loadTableFKs

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private void loadTableFKs(String tableName) throws IOException,
		SQLException {
	Table table = dbIO.getTable(tableName);
	for (Index idxi : table.getIndexes()) {
		//riw
		IndexImpl idx=(IndexImpl)idxi;
		if (idx.isForeignKey() && !idx.getReference().isPrimaryTable())
			loadForeignKey(idx);
		}
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:11,代码来源:LoadJet.java


示例14: loadTableIndexes

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private void loadTableIndexes(String tableName) throws IOException,
		SQLException {
	Table table = dbIO.getTable(tableName);
	for (Index idx : table.getIndexes()) {
		if (!idx.isForeignKey())
			loadIndex(idx);
	}
}
 
开发者ID:andrew-nguyen,项目名称:ucanaccess,代码行数:9,代码来源:LoadJet.java


示例15: debugTable

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private static void debugTable(Table table, SequenceWriter columnCsv) throws IOException {

		System.out.println("\tTable columns for " + table.getName());

		try {
			for (Column nextColumn : table.getColumns()) {
				System.out.println("\t\t" + nextColumn.getName());
				columnCsv.write(Arrays.asList(table.getName() + "." + nextColumn.getName(),
						table.getName() + "." + nextColumn.getName(), "", ""));
			}

			Index primaryKeyIndex = table.getPrimaryKeyIndex();
			System.out.println(
					"\tFound primary key index for table: " + table.getName() + " named " + primaryKeyIndex.getName());
			debugIndex(primaryKeyIndex, new HashSet<>(), columnCsv);

			for (Index nextIndex : table.getIndexes()) {
				if (!nextIndex.getName().equals(primaryKeyIndex.getName())) {
					System.out.println("\tFound non-primary key index for table: " + table.getName() + " named "
							+ nextIndex.getName());
					debugIndex(nextIndex, new HashSet<>(), null);
				}
			}
		} catch (IllegalArgumentException e) {
			System.out.println("No primary key index found for table: " + table.getName());
		}

		Cursor cursor = table.getDefaultCursor();
		int i = 0;
		while (cursor.moveToNextRow()) {
			if (i >= 5) {
				break;
			}
			System.out.println(cursor.getCurrentRow().toString());
			i++;
		}
	}
 
开发者ID:ansell,项目名称:csvsum,代码行数:38,代码来源:AccessMapper.java


示例16: debugIndex

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private static void debugIndex(Index index, Set<Index> visited, SequenceWriter csvWriter) throws IOException {
	visited.add(index);
	System.out.println("\t\tIndex columns:");
	StringBuilder columnList = new StringBuilder();
	for (Index.Column nextColumn : index.getColumns()) {
		System.out.print("\t\t\t" + nextColumn.getName());

		if (columnList.length() > 0) {
			columnList.append(",");
		}
		columnList.append(index.getTable().getName() + "." + nextColumn.getName());
	}
	if (csvWriter != null) {
		csvWriter.write(
				Arrays.asList(columnList.toString(), columnList.toString(), "Access", columnList.toString()));
	}

	System.out.println("");
	Index referencedIndex = index.getReferencedIndex();
	if (referencedIndex != null) {
		System.out.println("\t" + index.getName() + " references another index: " + referencedIndex.getName());
		if (!visited.contains(referencedIndex)) {
			visited.add(referencedIndex);
			debugIndex(referencedIndex, visited, null);
		}

	}

}
 
开发者ID:ansell,项目名称:csvsum,代码行数:30,代码来源:AccessMapper.java


示例17: getPrimaryKeys

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
/**
 * Get all primary keys for the table
 * 
 * @param table
 * @return a list of primary keys
 */
private List<String> getPrimaryKeys(Table table) {
	log.debug("getPrimaryKeys");
	List<String> primaryKeyList = new ArrayList<String>();

	for (Index index : table.getIndexes()) {
		for (Index.Column column : index.getColumns()) {
			if (index.isPrimaryKey()) {
				primaryKeyList.add(column.getName());
			}
		}
	}
	return primaryKeyList;
}
 
开发者ID:ox-it,项目名称:ords-database-api,代码行数:20,代码来源:PostgresAccessDatabaseServiceImpl.java


示例18: createIndex

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
/**
 * Create an index in an SQLite table for the corresponding index in MS Access
 * 
 * @param table MS Access table
 * @param jdbc The SQLite database JDBC connection
 * @throws SQLException
 */
private void createIndex(final Index index, final Connection jdbc) throws SQLException {
    final List<Index.ColumnDescriptor> columns = index.getColumns();
    final StringBuilder stmtBuilder = new StringBuilder();
    
    /* Create the statement */
    final String tableName = index.getTable().getName();
    final String indexName = tableName + "_" + index.getName();
    final String uniqueString = index.isUnique() ? "UNIQUE" : "";

    stmtBuilder.append("CREATE "+ uniqueString + " INDEX " + escapeIdentifier(indexName));
    stmtBuilder.append(" ON " + escapeIdentifier(tableName) + " (");

    final int columnCount = columns.size();
    for (int i = 0; i < columnCount; i++){
        final Index.ColumnDescriptor column = columns.get(i);

        stmtBuilder.append(escapeIdentifier(column.getName()));
        stmtBuilder.append(" ");
        if (i + 1 < columnCount)
            stmtBuilder.append(", ");
    }
    stmtBuilder.append(")");

    /* Execute it */
    final Statement stmt = jdbc.createStatement();
    stmt.execute(stmtBuilder.toString());
}
 
开发者ID:tinogomes,项目名称:mdb-sqlite,代码行数:35,代码来源:AccessExporter.java


示例19: Joiner

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
private Joiner(Index fromIndex, IndexCursor toCursor)
{
  _fromIndex = fromIndex;
  _fromCols = _fromIndex.getColumns();
  _entryValues = new Object[_fromCols.size()];
  _toCursor = toCursor;
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:8,代码来源:Joiner.java


示例20: create

import com.healthmarketscience.jackcess.Index; //导入依赖的package包/类
/**
 * Creates a new Joiner based on the given index which backs a foreign-key
 * relationship.  The table of the given index will be the "from" table and
 * the table on the other end of the relationship will be the "to" table.
 *
 * @param fromIndex the index backing one side of a foreign-key relationship
 */
public static Joiner create(Index fromIndex)
  throws IOException
{
  Index toIndex = fromIndex.getReferencedIndex();
  IndexCursor toCursor = CursorBuilder.createCursor(toIndex);
  // text lookups are always case-insensitive
  toCursor.setColumnMatcher(CaseInsensitiveColumnMatcher.INSTANCE);
  return new Joiner(fromIndex, toCursor);
}
 
开发者ID:jahlborn,项目名称:jackcess,代码行数:17,代码来源:Joiner.java



注:本文中的com.healthmarketscience.jackcess.Index类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java StateEngine类代码示例发布时间:2022-05-22
下一篇:
Java DomainPeerServer类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap