public TableDesc getTable(String name) { for (TableDesc td : tableDescs) { if (td.getTableName().equalsIgnoreCase(name)) return td; } return null; }
@Override public PreparedStatement createPreparedStatement(Connection conn) throws SQLException { StringBuilder sb = new StringBuilder(); sb.append("DELETE FROM ").append(tablesTableName); sb.append(" WHERE table_name=?"); String sql = sb.toString(); log.debug(sql); PreparedStatement ps = conn.prepareStatement(sql); sb = new StringBuilder(); int col = 1; safeSetString(sb, ps, col++, table.getTableName()); log.debug("values: " + sb.toString()); return ps; } }
@Override public PreparedStatement createPreparedStatement(Connection conn) throws SQLException { StringBuilder sb = new StringBuilder(); sb.append("DELETE FROM ").append(columnsTableName); sb.append(" WHERE table_name=?"); String sql = sb.toString(); log.debug(sql); PreparedStatement ps = conn.prepareStatement(sql); sb = new StringBuilder(); int col = 1; safeSetString(sb, ps, col++, table.getTableName()); log.debug("values: " + sb.toString()); return ps; } }
private String generateInsertSQL(TableDesc td) { StringBuilder sb = new StringBuilder("insert into "); sb.append(td.getTableName()); sb.append(" ("); for (ColumnDesc cd : td.getColumnDescs()) { sb.append(cd.getColumnName()); sb.append(", "); } sb.setLength(sb.length() - 2); sb.append(") values ("); for (ColumnDesc cd : td.getColumnDescs()) { sb.append("?, "); } sb.setLength(sb.length() - 2); sb.append(")"); return sb.toString(); }
private String generateCreate(TableDesc td) { StringBuilder sb = new StringBuilder(); sb.append("CREATE TABLE "); sb.append(td.getTableName()).append( "("); for (int i = 0; i < td.getColumnDescs().size(); i++) { ColumnDesc columnDesc = td.getColumnDescs().get(i); sb.append(columnDesc.getColumnName()); sb.append(" "); sb.append(ddType.getDataType(columnDesc)); sb.append(" null "); if (i + 1 < td.getColumnDescs().size()) sb.append(", "); } sb.append(")"); return sb.toString(); }
/** * Creates Lists of Columns with a common Table name, then adds the Lists to the Tables. * * @param tableDescs List of Tables. * @param columnDescs List of Columns. */ private void addColumnsToTables(List<TableDesc> tableDescs, List<ColumnDesc> columnDescs) { for (ColumnDesc col : columnDescs) { for (TableDesc tableDesc : tableDescs) { if (col.getTableName().equals(tableDesc.getTableName())) { tableDesc.getColumnDescs().add(col); break; } } } }
private TableDesc createTableDesc(TableDesc orig) { if (columnNames.size() == 0) { throw new IllegalArgumentException("No data columns."); } TableDesc tableDesc = new TableDesc(orig.getSchemaName(), orig.getTableName()); ColumnDesc colDesc = null; for (String col : columnNames) { colDesc = orig.getColumn(col); if (colDesc == null) { throw new IllegalArgumentException("Unrecognized column name: " + col); } tableDesc.getColumnDescs().add(colDesc); } return tableDesc; }
if (td == null) throw new IllegalArgumentException("Table [" + fromTable + "] does not exist."); log.debug("findTableForColumnName: " + columnName + " in " + td.getTableName()); if (isValidColumnName(td, columnName))
/** * Adds foreign keys (KeyDesc) to the from table. * * @param schemaDescs */ private void addForeignKeys(List<SchemaDesc> schemaDescs, List<KeyDesc> keyDescs) { for (KeyDesc key : keyDescs) { for (SchemaDesc sd : schemaDescs) { for (TableDesc td : sd.getTableDescs()) { if ( key.getFromTable().equals(td.getTableName())) { td.getKeyDescs().add(key); break; } } } } }
safeSetInteger(sb, ps, col++, table.tableIndex); safeSetString(sb, ps, col++, table.getSchemaName()); safeSetString(sb, ps, col++, table.getTableName());
public void createTable(TableDesc table) { try { TapSchemaUtil.checkValidTableName(table.getTableName()); } catch (ADQLIdentifierException ex) { throw new IllegalArgumentException("invalid table name: " + table.getTableName(), ex); sql = "GRANT select on " + table.getTableName() + " to public"; log.debug("sql:\n" + sql); jdbc.execute(sql); throw new RuntimeException("failed to create table " + table.getTableName(), ex); } finally { if (tm.isOpen()) {
log.debug("delete columns: " + cur.getTableName()); dcs.setTable(cur); jdbc.update(dcs); log.debug("delete table: " + cur.getTableName()); dts.setTable(cur); jdbc.update(dts);
log.debug("findTableDesc: " + td.getTableName() + " vs " + table.getWholeTableName()); if (td.getTableName().equalsIgnoreCase(table.getWholeTableName()))
log.debug("upload table: " + databaseTableName + " aka " + tableDesc); final String tableName = tableDesc.getTableName(); tableDesc.setTableName(databaseTableName);
sb.append("."); sb.append(tableDesc.getTableName()); sb.append("."); sb.append(columnDesc.getColumnName()); tableDesc.getTableName()); ColumnDesc newColumnDesc = new ColumnDesc(columnDesc.getTableName(), columnDesc.getColumnName(), columnDesc.getDatatype());
DatabaseTransactionManager tm = new DatabaseTransactionManager(dataSource); try { TableDesc cur = getTable(td.getTableName()); boolean update = (cur != null); if (update) { log.debug("put: " + td.getTableName()); pts.setTable(td); jdbc.update(pts); throw new RuntimeException("failed to persist " + td.getTableName(), ex); } finally { if (tm.isOpen()) {
private TapSchema toTapSchema(Document doc) { TapSchema ret = new TapSchema(); Element root = doc.getRootElement(); Namespace xsi = root.getNamespace("xsi"); if ("tableset".equals(root.getName())) { // content is element-form unqualified List<Element> sels = root.getChildren("schema"); for (Element se : sels) { String sn = se.getChildTextTrim("name"); SchemaDesc sd = new SchemaDesc(sn); List<Element> tabs = se.getChildren("table"); for (Element te : tabs) { TableDesc td = TableReader.toTable(sn, te, xsi); String tn = td.getTableName(); sd.getTableDescs().add(td); } ret.getSchemaDescs().add(sd); } } return ret; } }
tnc.put(tableDesc.getTableName(), newName); log.debug("TableNameConverter " + tableDesc.getTableName() + " -> " + newName);
tnc.put(tableDesc.getTableName(), newName); log.debug("TableNameConverter " + tableDesc.getTableName() + " -> " + newName);
/** * @param td * @return */ private Element toXmlElement(TableDesc td, Namespace ns) { Element eleTable = new Element("table", ns); eleTable.setAttribute("type", "output"); Element ele; addChild(eleTable, "name", td.getTableName()); addChild(eleTable, "description", td.description); if (td.getColumnDescs() != null) for (ColumnDesc cd : td.getColumnDescs()) { Element e = toXmlElement(cd); if (e != null) eleTable.addContent(e); } if (td.getKeyDescs() != null) for (KeyDesc kd : td.getKeyDescs()) { Element e = toXmlElement(kd); if (e != null) eleTable.addContent(e); } return eleTable; }