public void addColumn(String tableName, String columnName, Map<String, String> columnMap, String[] types, String[] defaults, Boolean[] notNulls) throws IOException, SQLException { UcanaccessConnection conn = UcanaccessConnection.getCtxConnection(); Database db = conn.getDbIO(); String tn = escape4Access(tableName); String ntn = escape4Hsqldb(tableName); Metadata mtd = new Metadata(conn.getHSQLDBConnection()); ColumnBuilder cb = this.getColumn(ntn, columnMap, types); Table t = db.getTable(tn); Column cl = cb.addToTable(t); int idTable = mtd.getTableId(ntn.toUpperCase()); mtd.newColumn(cb.getName(), SQLConverter.preEscapingIdentifier(cb.getName()), getUcaMetadataTypeName(0, cb, types), idTable); saveColumnsDefaults(defaults, notNulls, cl, 0); updateNewColumn2Defaut(tableName, columnName, t, cl); setHsqldbNotNull(tableName, columnName, types[0], cl); conn.reloadDbIO(); }