/** * Create a new table in this database * @param name Name of the table to create * @param columns List of Columns in the table * @param indexes List of IndexBuilders describing indexes for the table * @deprecated use {@link TableBuilder} instead */ @Deprecated public void createTable(String name, List<ColumnBuilder> columns, List<IndexBuilder> indexes) throws IOException { new TableBuilder(name) .addColumns(columns) .addIndexes(indexes) .toTable(this); }
/** * Adds the Columns to the new table. */ public TableBuilder addColumns(Collection<? extends ColumnBuilder> columns) { if(columns != null) { for(ColumnBuilder col : columns) { addColumn(col); } } return this; }
/** * Adds the Indexes to the new table. */ public TableBuilder addIndexes(Collection<? extends IndexBuilder> indexes) { if(indexes != null) { for(IndexBuilder col : indexes) { addIndex(col); } } return this; }
db = Database.create(new File(contextParameters.getParameterValue(ContextParameter.USER_DIRECTORY_PATH)+outputFile)); TableBuilder tb = new TableBuilder(worksheet.getTitle().replaceAll("\\.", "_")); if (columnName.equals("")) columnName = "NA"; tb.addColumn(new ColumnBuilder(columnName).setType( DataType.MEMO).toColumn()); hNodeIdList.add(hNode.getId()); tb.toTable(db);
String ntn = escape4Hsqldb(tableName); Metadata mtd = new Metadata(conn.getHSQLDBConnection()); TableBuilder tb = new TableBuilder(tn); int idTable = mtd.newTable(tn, ntn, Metadata.Types.TABLE); Collection<ColumnBuilder> lcb = getColumns(ntn, columnMap, types); tb.addColumns(lcb); int colIdx = 0; for (ColumnBuilder cb : lcb) { tb.addIndex(ixb); Table table = tb.toTable(db); saveColumnsDefaults(defaults, notNulls, table); LoadJet lj = new LoadJet(conn.getHSQLDBConnection(), db);
/** * Returns a new table with a unique name and the given table definition. */ private static Table createUniqueTable(Database db, String name, List<ColumnBuilder> columns, ResultSetMetaData md, ImportFilter filter) throws IOException, SQLException { // otherwise, find unique name and create new table String baseName = name; int counter = 2; while(db.getTable(name) != null) { name = baseName + (counter++); } return new TableBuilder(name) .addColumns(filter.filterColumns(columns, md)) .toTable(db); }
/** * @return A table or column name escaped for Access * @usage _general_method_ */ public static String escapeIdentifier(String s) { if (isReservedWord(s)) { return ESCAPE_PREFIX + s; } return s; }
database = DatabaseBuilder.create(FileFormat.V2010, file); TableBuilder tb = new TableBuilder(tablename); break; tb.addColumn(cb.toColumn()); table = tb.toTable(database);
public static String preEscapingIdentifier(String name) { if (name.length() == 0) { return name; } if (name.startsWith("~")) { return null; } String nl = name.toUpperCase(Locale.US); if (TableBuilder.isReservedWord(nl)) { ESCAPED_IDENTIFIERS.add(nl); } if (name.indexOf("'") >= 0 || name.indexOf("\"") > 0) { APOSTROPHISED_NAMES.add(name); } if (nl.startsWith("X") && TableBuilder.isReservedWord(nl.substring(1))) { ALREADY_ESCAPED_IDENTIFIERS.add(nl.substring(1)); } String escaped = name; escaped = name.replaceAll("\'", "").replaceAll("\"", "").replaceAll(Pattern.quote("\\"), "_"); if (escaped.length() > 0 && Character.isDigit(escaped.trim().charAt(0))) { escaped = "Z_" + escaped.trim(); } if (escaped.length() > 0 && escaped.charAt(0) == '_') { escaped = "Z" + escaped; } if (dualUsedAsTableName && escaped.equalsIgnoreCase("DUAL")) { escaped = "DUAL_13031971"; } return escaped.toUpperCase(Locale.US); }
/** * Sets the names of the primary key columns for this table. Convenience * method for creating a primary key index on a table. */ public TableBuilder setPrimaryKey(String... colNames) { addIndex(new IndexBuilder(IndexBuilder.PRIMARY_KEY_NAME) .addColumns(colNames).setPrimaryKey()); return this; }