public static String map2hsqldb(DataType _type) { if (JACKCESS_TO_HSQLDB_TYPES_MAP.containsKey(_type)) { return JACKCESS_TO_HSQLDB_TYPES_MAP.get(_type); } return _type.name(); }
private String getUcaMetadataTypeName(int colIdx, ColumnBuilder cb, String[] types) { String ucaMetadataTypeName = cb.getType().name(); if ((types != null) && (colIdx < types.length)) { if (types[colIdx].toUpperCase(Locale.US).equals("HYPERLINK")) { ucaMetadataTypeName = types[colIdx].toUpperCase(Locale.US); } } return ucaMetadataTypeName; }
private String getCalculatedFieldTrigger(String ntn, Column cl, boolean isCreate) throws IOException, SQLException { DataType dt = getReturnType(cl); String fun = null; if (isNumeric(dt)) { fun = "formulaToNumeric"; } else if (isBoolean(dt)) { fun = "formulaToBoolean"; } else if (isDate(dt)) { fun = "formulaToDate"; } else if (isTextual(dt)) { fun = "formulaToText"; } String call = fun == null ? "%s" : fun + "(%s,'" + dt.name() + "')"; String ecl = procedureEscapingIdentifier(cl.getName()).replace("%", "%%"); String trg = isCreate ? "CREATE TRIGGER expr%d before insert ON " + ntn + " REFERENCING NEW AS newrow FOR EACH ROW " + " BEGIN ATOMIC " + " SET newrow." + ecl + " = " + call + "; END " : "CREATE TRIGGER expr%d before update ON " + ntn + " REFERENCING NEW AS newrow OLD AS OLDROW FOR EACH ROW " + " BEGIN ATOMIC IF %s THEN " + " SET newrow." + ecl + " = " + call + "; ELSEIF newrow." + ecl + " <> oldrow." + ecl + " THEN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = '" + Logger.getMessage(Messages.TRIGGER_UPDATE_CF_ERR.name()) + cl.getName().replace("%", "%%") + "'" + "; END IF ; END "; return trg; }
String ctype = cl.getType().name(); if (cl.isAutoNumber()) { ColumnImpl cli = (ColumnImpl) cl;
@Override protected Schema getMainSchema() throws MetaModelException { Schema schema = new Schema(_file.getName()); Database db = getDatabase(); for (com.healthmarketscience.jackcess.Table mdbTable : db) { Table table = new Table(mdbTable.getName(), TableType.TABLE, schema); try { int i = 0; for (com.healthmarketscience.jackcess.Column mdbColumn : mdbTable .getColumns()) { ColumnType columnType = ColumnType .convertColumnType(mdbColumn.getSQLType()); Column column = new Column(mdbColumn.getName(), columnType, table, i, null); column.setColumnSize((int) mdbColumn.getLength()); column.setNativeType(mdbColumn.getType().name()); table.addColumn(column); i++; } schema.addTable(table); } catch (Exception e) { throw new MetaModelException(e); } } return schema; }
@Override protected Schema getMainSchema() throws MetaModelException { MutableSchema schema = new MutableSchema(_file.getName()); Database db = getDatabase(); for (com.healthmarketscience.jackcess.Table mdbTable : db) { final MutableTable table = new MutableTable(mdbTable.getName(), TableType.TABLE, schema); try { int i = 0; for (com.healthmarketscience.jackcess.Column mdbColumn : mdbTable.getColumns()) { final ColumnType columnType = ColumnType.convertColumnType(mdbColumn.getSQLType()); final MutableColumn column = new MutableColumn(mdbColumn.getName(), columnType, table, i, null); column.setColumnSize((int) mdbColumn.getLength()); column.setNativeType(mdbColumn.getType().name()); table.addColumn(column); i++; } final Index primaryKeyIndex = mdbTable.getPrimaryKeyIndex(); final List<ColumnDescriptor> columnDescriptors = primaryKeyIndex.getColumns(); for (ColumnDescriptor columnDescriptor : columnDescriptors) { final String name = columnDescriptor.getColumn().getName(); final MutableColumn column = (MutableColumn) table.getColumnByName(name); column.setPrimaryKey(true); } schema.addTable(table); } catch (Exception e) { throw new MetaModelException(e); } } return schema; }