in openjpa-jdbc/src/main/java/org/apache/openjpa/jdbc/sql/IngresDictionary.java [32:152]
public IngresDictionary() {
// Schema Data
platform = "Ingres";
driverVendor = "Ingres Corporation";
maxColumnNameLength = 32;
maxConstraintNameLength = 32;
maxIndexNameLength = 32;
maxTableNameLength = 32;
supportsDeferredConstraints = false;
schemaCase = DBDictionary.SCHEMA_CASE_LOWER;
systemSchemas = "$ingres";
supportsDefaultDeleteAction = false;
supportsDefaultUpdateAction = false;
// SQL
validationSQL = "SELECT DATE('now')";
rangePosition = DBDictionary.RANGE_POST_SELECT;
supportsLockingWithDistinctClause = false;
supportsLockingWithInnerJoin = false;
supportsLockingWithMultipleTables = false;
supportsLockingWithOuterJoin = false;
supportsSelectEndIndex = true;
supportsMultipleNontransactionalResultSets = false;
allowsAliasInBulkClause = false;
requiresCastForMathFunctions = true;
requiresAliasForSubselect = true;
// Functions
stringLengthFunction = "LENGTH({0})";
// Types
binaryTypeName = "BYTE";
bitTypeName = "TINYINT";
blobTypeName = "LONG BYTE";
booleanTypeName = "TINYINT";
charTypeName = "CHAR";
clobTypeName = "LONG NVARCHAR";
javaObjectTypeName = "LONG BYTE";
numericTypeName = "DECIMAL";
doubleTypeName = "FLOAT";
longVarcharTypeName = "LONG NVARCHAR";
longVarbinaryTypeName = "LONG BYTE";
varbinaryTypeName = "LONG BYTE";
datePrecision = DBDictionary.NANO;
// Schema Metadata
supportsNullTableForGetIndexInfo = true;
supportsNullTableForGetPrimaryKeys = true;
tableTypes = "TABLE,VIEW,SYSTEM TABLE";
requiresAutoCommitForMetaData = true;
// Auto Increment
maxAutoAssignNameLength = 32;
supportsAutoAssign = false;
autoAssignClause = null;
autoAssignTypeName = null;
sequenceSQL = "SELECT seq_name AS SEQUENCE_NAME, seq_owner AS SEQUENCE_SCHEMA FROM iisequences";
sequenceNameSQL = "seq_name = ?";
sequenceSchemaSQL = "seq_owner = ?";
nextSequenceQuery = "SELECT NEXT VALUE FOR {0}";
systemTables =
"iiaccess, iialt_columns, iiattribute, iiaudit, iiaudittables, "
+ "iicdbid_idx, iicolumns, iiconstraint_indexes, "
+ "iiconstraints, iidatabase, iidatabase_info, iidb_comments, "
+ "iidb_subcomments, iidbcapabilities, iidbconstants, "
+ "iidbdepends, iidbid_idx, iidbms_comment, iidbpriv, "
+ "iidbprivileges, iiddb_netcost, iiddb_nodecosts, iidefault, "
+ "iidefaultidx, iidevices, iidistcol, iidistcols, "
+ "iidistscheme, iidistschemes, iidistval, "
+ "iievent, iievents, iiextend, iiextend_info, "
+ "iiextended_relation, iifile_info, iigw06_attribute, "
+ "iigw06_relation, iigw07_attribute, iigw07_index, "
+ "iigw07_relation, iihistogram, iihistograms, iiindex, "
+ "iiindex_columns, iiindexes, iiingres_tables, iiintegrities, "
+ "iiintegrity, iiintegrityidx, iikey, iikey_columns, iikeys, "
+ "iilocation_info, iilocations, iilog_help, iilpartitions, "
+ "iimulti_locations, iiocolumns, iiotables, iipartname, "
+ "iipermits, iiphysical_columns, iiphysical_tables, iipriv, "
+ "iiprivlist, iiproc_access, iiproc_params, iiprocedure, "
+ "iiprocedure_parameter, iiprocedures, iiprofile, iiprofiles, "
+ "iiprotect, iiqrytext, iirange, iiref_constraints, "
+ "iiregistrations, iirel_idx, iirelation, iirole, "
+ "iirolegrant, iirolegrants, iiroles, iirule, iiruleidx, "
+ "iiruleidx1, iirules, iischema, iischemaidx, iisecalarm, "
+ "iisectype, iisecurity_alarms, iisecurity_state, "
+ "iisecuritystate, iisequence, iisequences, "
+ "iisession_privileges, iistar_cdbinfo, iistar_cdbs, "
+ "iistatistics, iistats, iisynonym, iisynonyms, iitables, "
+ "iitree, iiuser, iiusergroup, iiusers, iiviews, "
+ "iixdbdepends, iixevent, iixpriv, iixprocedure, "
+ "iixsynonym, ii_abfclasses, ii_abfdependencies, "
+ "ii_abfobjects, ii_app_cntns_comp, ii_app_cntns_comp_index, "
+ "ii_applications, ii_atttype, ii_client_dep_mod, "
+ "ii_components, ii_databases, ii_dbd_acl, "
+ "ii_dbd_identifiers, ii_dbd_locations, ii_dbd_rightslist, "
+ "ii_dbd_table_char, ii_defaults, ii_dependencies, "
+ "ii_dependencies_index, ii_dependencies_index2, "
+ "ii_dict_modules, ii_domains, ii_encoded_forms, "
+ "ii_encodings, ii_entities, ii_entities_index, ii_enttype, "
+ "ii_fields, " + "ii_forms, ii_framevars, ii_gropts, "
+ "ii_id, ii_incl_apps, ii_joindefs, ii_joinspecs, "
+ "ii_key_info, ii_key_map, ii_limits, ii_locks, "
+ "ii_longremarks, ii_menuargs, ii_objects, "
+ "ii_objects_index, ii_qbfnames, ii_rcommands, "
+ "ii_rel_cncts_ent, ii_reltype, ii_reports, "
+ "ii_sequence_values, ii_sqlatts, ii_sqltables, "
+ "ii_srcobj_encoded, ii_stored_bitmaps, ii_stored_strings, "
+ "ii_trim, ii_vqjoins, ii_vqtabcols, ii_vqtables";
fixedSizeTypeNames =
"INTEGER,INTEGER1,INTEGER2,INTEGER4,INTEGER8,TINYINT,SMALLINT,"
+ "BIGINT,FLOAT,FLOAT4,FLOAT8,REAL,DATE,INGRESDATE,ANSIDATE";
reservedWords =
"ABORT,BYREF,CALLPROC,COMMENT,COPY,DEFINE,DISABLE,DO,ELSEIF,"
+ "ENABLE,ENDIF,ENDLOOP,ENDWHILE,EXCLUDING,IF,IMPORT,INDEX,"
+ "INTEGRITY,MESSAGE,MODIFY,PERMIT,RAISE,REFERENCING,REGISTER,"
+ "RELOCATE,REMOVE,REPEAT,RETURN,SAVE,SAVEPOINT,UNTIL,WHILE";
/* Don't allow "tid" as a column name; this is an internal column */
invalidColumnWordSet.add("tid");
}