List of usage examples for java.sql DatabaseMetaData importedKeyNoAction
int importedKeyNoAction
To view the source code for java.sql DatabaseMetaData importedKeyNoAction.
Click Source Link
UPDATE_RULE
and DELETE_RULE
, indicates that if the primary key has been imported, it cannot be updated or deleted. From source file:de.erdesignerng.dialect.JDBCReverseEngineeringStrategy.java
/** * Convert a JDBC Cascade Type to the Mogwai CascadeType. * <p/>//w ww . ja v a 2 s. c om * Default is CASCADE. * * @param aValue the JDBC type * @return the CascadeType */ protected CascadeType getCascadeType(int aValue) { switch (aValue) { case DatabaseMetaData.importedKeyNoAction: return CascadeType.NOTHING; case DatabaseMetaData.importedKeySetNull: return CascadeType.SETNULL; case DatabaseMetaData.importedKeyCascade: return CascadeType.CASCADE; case DatabaseMetaData.importedKeyRestrict: return CascadeType.RESTRICT; default: return CascadeType.CASCADE; } }
From source file:com.nextep.designer.sqlgen.helpers.CaptureHelper.java
/** * Converts a JDBC foreign key action code into a neXtep {@link ForeignKeyAction} enumeration. * // w w w. j a v 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:de.erdesignerng.dialect.oracle.OracleReverseEngineeringStrategy.java
@Override protected CascadeType getCascadeType(int aValue) { switch (aValue) { case DatabaseMetaData.importedKeyRestrict: // Restrict is not supported my this db aValue = DatabaseMetaData.importedKeyNoAction; break;//from ww w. jav a 2s. c o m } return super.getCascadeType(aValue); }
From source file:jef.database.DbMetaData.java
/** * // ww w .j a v a 2 s. c o m * * @param fromField * ? * @param refField * * @throws SQLException */ public void createForeignKey(Field fromField, Field refField) throws SQLException { createForeignKey(fromField, refField, DatabaseMetaData.importedKeyNoAction, DatabaseMetaData.importedKeyNoAction); }
From source file:io.vitess.jdbc.VitessMySQLDatabaseMetadata.java
/** * Parses the constraint to see what actions are taking for update and delete, such as cascade. * @param constraint//from www . j a v a2 s . c o m * the constraint to parse * @return the code from {@link DatabaseMetaData} corresponding to the foreign actions for the constraint */ private int[] getForeignKeyActions(String constraint) { int[] actions = new int[] { java.sql.DatabaseMetaData.importedKeyNoAction, java.sql.DatabaseMetaData.importedKeyNoAction }; int lastParenIndex = constraint.lastIndexOf(")"); if (lastParenIndex != (constraint.length() - 1)) { String cascadeOptions = constraint.substring(lastParenIndex + 1).trim().toUpperCase(Locale.ENGLISH); actions[0] = getCascadeDeleteOption(cascadeOptions); actions[1] = getCascadeUpdateOption(cascadeOptions); } return actions; }
From source file:io.vitess.jdbc.VitessMySQLDatabaseMetadata.java
/** * Parses the cascade option string and returns the DBMD constant that * represents it (for deletes)//from w w w .ja v a2s . com * * @param cascadeOptions * the comment from 'SHOW TABLE STATUS' * @return the DBMD constant that represents the cascade option */ private int getCascadeDeleteOption(String cascadeOptions) { int onDeletePos = cascadeOptions.indexOf("ON DELETE"); if (onDeletePos != -1) { String deleteOptions = cascadeOptions.substring(onDeletePos, cascadeOptions.length()); if (deleteOptions.startsWith("ON DELETE CASCADE")) { return java.sql.DatabaseMetaData.importedKeyCascade; } else if (deleteOptions.startsWith("ON DELETE SET NULL")) { return java.sql.DatabaseMetaData.importedKeySetNull; } else if (deleteOptions.startsWith("ON DELETE RESTRICT")) { return java.sql.DatabaseMetaData.importedKeyRestrict; } else if (deleteOptions.startsWith("ON DELETE NO ACTION")) { return java.sql.DatabaseMetaData.importedKeyNoAction; } } return java.sql.DatabaseMetaData.importedKeyNoAction; }
From source file:io.vitess.jdbc.VitessMySQLDatabaseMetadata.java
/** * Parses the cascade option string and returns the DBMD constant that * represents it (for Updates)//ww w.j av a2 s. co m * * @param cascadeOptions * the comment from 'SHOW TABLE STATUS' * @return the DBMD constant that represents the cascade option */ private int getCascadeUpdateOption(String cascadeOptions) { int onUpdatePos = cascadeOptions.indexOf("ON UPDATE"); if (onUpdatePos != -1) { String updateOptions = cascadeOptions.substring(onUpdatePos, cascadeOptions.length()); if (updateOptions.startsWith("ON UPDATE CASCADE")) { return java.sql.DatabaseMetaData.importedKeyCascade; } else if (updateOptions.startsWith("ON UPDATE SET NULL")) { return java.sql.DatabaseMetaData.importedKeySetNull; } else if (updateOptions.startsWith("ON UPDATE RESTRICT")) { return java.sql.DatabaseMetaData.importedKeyRestrict; } else if (updateOptions.startsWith("ON UPDATE NO ACTION")) { return java.sql.DatabaseMetaData.importedKeyNoAction; } } return java.sql.DatabaseMetaData.importedKeyNoAction; }
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 {// w w w.j a v a2s . c om 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.task.DumpMetadataTask.java
/** * Dumps the foreign key columns of the indicated table to other tables. * //from ww w. j av a 2 s. co m * @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.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 . j av a2 s . co m } return translated; }