public boolean isAutoIncrement( Connection connection, String catalogName, String schemaName, String tableName, String columnName) throws SQLException { String fullTableName = TableUtil.buildFullTableName(catalogName, schemaName, tableName); String sql = "select " + columnName + " from " + fullTableName + " where 1 = 0"; logger.debug(sql); PreparedStatement ps = ConnectionUtil.prepareStatement(connection, sql); try { ResultSet rs = ps.executeQuery(); try { ResultSetMetaData rsMetaData = rs.getMetaData(); return rsMetaData.isAutoIncrement(1); } finally { ResultSetUtil.close(rs); } } finally { StatementUtil.close(ps); } }
/** * 標準名を組み立てます。 * * @param catalog カタログ名 * @param schema スキーマ名 * @param name テーブル名 * @return 完全な名前 */ protected String buildCanonicalName(String catalog, String schema, String name) { return TableUtil.buildCanonicalTableName(dialect, catalog, schema, name); }
/** * 標準名を組み立てます。 * * @param tableMeta テーブルメタデータ * @return 標準名 */ protected String buildCanonicalName(TableMeta tableMeta) { return TableUtil.buildCanonicalTableName( dialect, tableMeta.getCatalog(), tableMeta.getSchema(), tableMeta.getName()); }