List of usage examples for java.sql DatabaseMetaData importedKeySetDefault
int importedKeySetDefault
To view the source code for java.sql DatabaseMetaData importedKeySetDefault.
Click Source Link
UPDATE_RULE
and DELETE_RULE
, indicates that if the primary key is updated or deleted, the foreign key (imported key) is set to the default value. From source file:com.nextep.designer.sqlgen.helpers.CaptureHelper.java
/** * Converts a JDBC foreign key action code into a neXtep {@link ForeignKeyAction} enumeration. * /*from ww w . j av a2 s . co m*/ * @param rule JDBC code of the FK action * @return a {@link ForeignKeyAction} corresponding to the specified JDBC action code if it * match one of the {@link DatabaseMetaData} known values, * {@link ForeignKeyAction#NO_ACTION} otherwise */ public static ForeignKeyAction getForeignKeyAction(short rule) { switch (rule) { case DatabaseMetaData.importedKeyCascade: return ForeignKeyAction.CASCADE; case DatabaseMetaData.importedKeyRestrict: // FIXME [BGA] Very ugly fix to handle the jTDS JDBC driver bug that returns // importedKeyRestrict instead of importedKeyNoAction. DBVendor currVendor = DBGMHelper.getCurrentVendor(); if (currVendor.equals(DBVendor.MSSQL)) { return ForeignKeyAction.NO_ACTION; } else { return ForeignKeyAction.RESTRICT; } case DatabaseMetaData.importedKeySetDefault: return ForeignKeyAction.SET_DEFAULT; case DatabaseMetaData.importedKeySetNull: return ForeignKeyAction.SET_NULL; case DatabaseMetaData.importedKeyNoAction: default: return ForeignKeyAction.NO_ACTION; } }
From source file:net.sourceforge.squirrel_sql.fw.dialects.DialectUtils.java
private static String constructFKContraintActionClause(boolean override, String conditionClause, String overrideAction, int rule) { // Bug 2531193: Oracle create table script the "ON UPDATE" is wrong final StringBuilder tmp = new StringBuilder(); if (override) { if ("NO ACTION".equals(overrideAction)) { return ""; } else {/*from ww w. j a v a 2 s . com*/ tmp.append(conditionClause); tmp.append(overrideAction); return tmp.toString(); } } switch (rule) { case DatabaseMetaData.importedKeyCascade: tmp.append(conditionClause); if (override) { tmp.append(overrideAction); } else { tmp.append("CASCADE"); } break; case DatabaseMetaData.importedKeySetNull: if (override) { tmp.append(overrideAction); } else { tmp.append("SET NULL"); } break; case DatabaseMetaData.importedKeySetDefault: if (override) { tmp.append(overrideAction); } else { tmp.append("SET DEFAULT"); } break; case DatabaseMetaData.importedKeyRestrict: case DatabaseMetaData.importedKeyNoAction: default: // Append nothing - standard says this is equivalent to NO ACTION // and some DBs // (e.g. Oracle don't accept ... NO ACTION) } return tmp.toString(); }
From source file:org.apache.ddlutils.platform.JdbcModelReader.java
/** * Converts the JDBC action value (one of the <code>importKey</code> constants in the * {@link DatabaseMetaData} class) to a {@link CascadeActionEnum}. * /*from www . j a va 2s . c om*/ * @param jdbcActionValue The jdbc action value * @return The enum value */ protected CascadeActionEnum convertAction(Short jdbcActionValue) { CascadeActionEnum action = null; if (jdbcActionValue != null) { switch (jdbcActionValue.shortValue()) { case DatabaseMetaData.importedKeyCascade: action = CascadeActionEnum.CASCADE; break; case DatabaseMetaData.importedKeySetNull: action = CascadeActionEnum.SET_NULL; break; case DatabaseMetaData.importedKeySetDefault: action = CascadeActionEnum.SET_DEFAULT; break; case DatabaseMetaData.importedKeyRestrict: action = CascadeActionEnum.RESTRICT; break; } } return action; }
From source file:org.apache.ddlutils.task.DumpMetadataTask.java
/** * Dumps the foreign key columns of the indicated table to other tables. * // w w w .ja va 2 s .c om * @param xmlWriter The xml writer to write to * @param metaData The database metadata * @param catalogName The catalog name * @param schemaName The schema name * @param tableName The table name */ private void dumpFKs(PrettyPrintingXmlWriter xmlWriter, final DatabaseMetaData metaData, final String catalogName, final String schemaName, final String tableName) throws SQLException { performResultSetXmlOperation(xmlWriter, null, new ResultSetXmlOperation() { public ResultSet getResultSet() throws SQLException { return metaData.getImportedKeys(catalogName, schemaName, tableName); } public void handleRow(PrettyPrintingXmlWriter xmlWriter, ResultSet result) throws SQLException { Set columns = getColumnsInResultSet(result); xmlWriter.writeElementStart(null, "foreignKey"); addStringAttribute(xmlWriter, "name", result, columns, "FK_NAME"); addStringAttribute(xmlWriter, "primaryKeyName", result, columns, "PK_NAME"); addStringAttribute(xmlWriter, "column", result, columns, "PKCOLUMN_NAME"); addStringAttribute(xmlWriter, "foreignCatalog", result, columns, "FKTABLE_CAT"); addStringAttribute(xmlWriter, "foreignSchema", result, columns, "FKTABLE_SCHEM"); addStringAttribute(xmlWriter, "foreignTable", result, columns, "FKTABLE_NAME"); addStringAttribute(xmlWriter, "foreignColumn", result, columns, "FKCOLUMN_NAME"); addShortAttribute(xmlWriter, "sequenceNumberInFK", result, columns, "KEY_SEQ"); if (columns.contains("UPDATE_RULE")) { try { switch (result.getShort("UPDATE_RULE")) { case DatabaseMetaData.importedKeyNoAction: xmlWriter.writeAttribute(null, "updateRule", "no action"); break; case DatabaseMetaData.importedKeyCascade: xmlWriter.writeAttribute(null, "updateRule", "cascade PK change"); break; case DatabaseMetaData.importedKeySetNull: xmlWriter.writeAttribute(null, "updateRule", "set FK to NULL"); break; case DatabaseMetaData.importedKeySetDefault: xmlWriter.writeAttribute(null, "updateRule", "set FK to default"); break; default: xmlWriter.writeAttribute(null, "updateRule", "unknown"); break; } } catch (SQLException ex) { log("Could not read the UPDATE_RULE value for a foreign key of table '" + tableName + "' from the result set: " + ex.getStackTrace(), Project.MSG_ERR); } } if (columns.contains("DELETE_RULE")) { try { switch (result.getShort("DELETE_RULE")) { case DatabaseMetaData.importedKeyNoAction: case DatabaseMetaData.importedKeyRestrict: xmlWriter.writeAttribute(null, "deleteRule", "no action"); break; case DatabaseMetaData.importedKeyCascade: xmlWriter.writeAttribute(null, "deleteRule", "cascade PK change"); break; case DatabaseMetaData.importedKeySetNull: xmlWriter.writeAttribute(null, "deleteRule", "set FK to NULL"); break; case DatabaseMetaData.importedKeySetDefault: xmlWriter.writeAttribute(null, "deleteRule", "set FK to default"); break; default: xmlWriter.writeAttribute(null, "deleteRule", "unknown"); break; } } catch (SQLException ex) { log("Could not read the DELETE_RULE value for a foreign key of table '" + tableName + "' from the result set: " + ex.getStackTrace(), Project.MSG_ERR); } } if (columns.contains("DEFERRABILITY")) { try { switch (result.getShort("DEFERRABILITY")) { case DatabaseMetaData.importedKeyInitiallyDeferred: xmlWriter.writeAttribute(null, "deferrability", "initially deferred"); break; case DatabaseMetaData.importedKeyInitiallyImmediate: xmlWriter.writeAttribute(null, "deferrability", "immediately deferred"); break; case DatabaseMetaData.importedKeyNotDeferrable: xmlWriter.writeAttribute(null, "deferrability", "not deferred"); break; default: xmlWriter.writeAttribute(null, "deferrability", "unknown"); break; } } catch (SQLException ex) { log("Could not read the DEFERRABILITY value for a foreign key of table '" + tableName + "' from the result set: " + ex.getStackTrace(), Project.MSG_ERR); } } xmlWriter.writeElementEnd(); } public void handleError(SQLException ex) { log("Could not determine the foreign keys for table '" + tableName + "': " + ex.getStackTrace(), Project.MSG_ERR); } }); }
From source file:org.apache.openjpa.jdbc.sql.DBDictionary.java
/** * Create a new foreign key from the information in the schema metadata. *//* w w w . java2s . c om*/ protected ForeignKey newForeignKey(ResultSet fkMeta) throws SQLException { ForeignKey fk = new ForeignKey(); fk.setSchemaIdentifier(fromDBName(fkMeta.getString("FKTABLE_SCHEM"), DBIdentifierType.SCHEMA)); fk.setTableIdentifier(fromDBName(fkMeta.getString("FKTABLE_NAME"), DBIdentifierType.TABLE)); fk.setColumnIdentifier(fromDBName(fkMeta.getString("FKCOLUMN_NAME"), DBIdentifierType.COLUMN)); fk.setIdentifier(fromDBName(fkMeta.getString("FK_NAME"), DBIdentifierType.FOREIGN_KEY)); fk.setPrimaryKeySchemaIdentifier(fromDBName(fkMeta.getString("PKTABLE_SCHEM"), DBIdentifierType.SCHEMA)); fk.setPrimaryKeyTableIdentifier(fromDBName(fkMeta.getString("PKTABLE_NAME"), DBIdentifierType.TABLE)); fk.setPrimaryKeyColumnIdentifier(fromDBName(fkMeta.getString("PKCOLUMN_NAME"), DBIdentifierType.COLUMN)); fk.setKeySequence(fkMeta.getShort("KEY_SEQ")); fk.setDeferred(fkMeta.getShort("DEFERRABILITY") == DatabaseMetaData.importedKeyInitiallyDeferred); int del = fkMeta.getShort("DELETE_RULE"); switch (del) { case DatabaseMetaData.importedKeySetNull: fk.setDeleteAction(ForeignKey.ACTION_NULL); break; case DatabaseMetaData.importedKeySetDefault: fk.setDeleteAction(ForeignKey.ACTION_DEFAULT); break; case DatabaseMetaData.importedKeyCascade: fk.setDeleteAction(ForeignKey.ACTION_CASCADE); break; default: fk.setDeleteAction(ForeignKey.ACTION_RESTRICT); break; } return fk; }
From source file:org.executequery.databaseobjects.impl.TableColumnConstraint.java
private String translateDeletedRule(Short value) { String translated = String.valueOf(value); if (isForeignKey()) { switch (value) { case DatabaseMetaData.importedKeyNoAction: return translated + " - importedKeyNoAction"; case DatabaseMetaData.importedKeyCascade: return translated + " - importedKeyCascade"; case DatabaseMetaData.importedKeySetNull: return translated + " - importedKeySetNull"; case DatabaseMetaData.importedKeyRestrict: return translated + " - importedKeyRestrict"; case DatabaseMetaData.importedKeySetDefault: return translated + " - importedKeySetDefault"; }/*from www . jav a 2 s.c om*/ } return translated; }
From source file:org.executequery.databaseobjects.impl.TableColumnConstraint.java
private String translateUpdateRule(Short value) { String translated = String.valueOf(value); if (isForeignKey()) { switch (value) { case DatabaseMetaData.importedKeyNoAction: return translated + " - importedKeyNoAction"; case DatabaseMetaData.importedKeyCascade: return translated + " - importedKeyCascade"; case DatabaseMetaData.importedKeySetNull: return translated + " - importedKeySetNull"; case DatabaseMetaData.importedKeyRestrict: return translated + " - importedKeyRestrict"; case DatabaseMetaData.importedKeySetDefault: return translated + " - importedKeySetDefault"; }/*from w w w. ja va 2 s . c o m*/ } return translated; }
From source file:org.executequery.sql.spi.LiquibaseStatementGenerator.java
private ForeignKeyConstraintType getForeignKeyConstraintType(short rule) { switch (rule) { case DatabaseMetaData.importedKeyCascade: return ForeignKeyConstraintType.importedKeyCascade; case DatabaseMetaData.importedKeySetNull: return ForeignKeyConstraintType.importedKeySetNull; case DatabaseMetaData.importedKeyRestrict: return ForeignKeyConstraintType.importedKeyRestrict; case DatabaseMetaData.importedKeySetDefault: return ForeignKeyConstraintType.importedKeySetDefault; case DatabaseMetaData.importedKeyNoAction: default:/*w w w .j a v a 2 s .c o m*/ return ForeignKeyConstraintType.importedKeyNoAction; } }