public IngresDictionary()

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");
    }