Class SAPDBDialect

  • All Implemented Interfaces:
    ConversionContext

    public class SAPDBDialect
    extends Dialect
    An SQL dialect compatible with SAP DB.
    • Constructor Detail

      • SAPDBDialect

        public SAPDBDialect()
        Constructs a SAPDBDialect
    • Method Detail

      • dropConstraints

        public boolean dropConstraints()
        Description copied from class: Dialect
        Do we need to drop constraints before dropping tables in this dialect?
        Overrides:
        dropConstraints in class Dialect
        Returns:
        True if constraints must be dropped prior to dropping the table; false otherwise.
      • getAddColumnString

        public java.lang.String getAddColumnString()
        Description copied from class: Dialect
        The syntax used to add a column to a table (optional).
        Overrides:
        getAddColumnString in class Dialect
        Returns:
        The "add column" fragment.
      • getAddForeignKeyConstraintString

        public java.lang.String getAddForeignKeyConstraintString​(java.lang.String constraintName,
                                                                 java.lang.String[] foreignKey,
                                                                 java.lang.String referencedTable,
                                                                 java.lang.String[] primaryKey,
                                                                 boolean referencesPrimaryKey)
        Description copied from class: Dialect
        The syntax used to add a foreign key constraint to a table.
        Overrides:
        getAddForeignKeyConstraintString in class Dialect
        Parameters:
        constraintName - The FK constraint name.
        foreignKey - The names of the columns comprising the FK
        referencedTable - The table referenced by the FK
        primaryKey - The explicit columns in the referencedTable referenced by this FK.
        referencesPrimaryKey - if false, constraint should be explicit about which column names the constraint refers to
        Returns:
        the "add FK" fragment
      • getAddForeignKeyConstraintString

        public java.lang.String getAddForeignKeyConstraintString​(java.lang.String constraintName,
                                                                 java.lang.String foreignKeyDefinition)
        Overrides:
        getAddForeignKeyConstraintString in class Dialect
      • getAddPrimaryKeyConstraintString

        public java.lang.String getAddPrimaryKeyConstraintString​(java.lang.String constraintName)
        Description copied from class: Dialect
        The syntax used to add a primary key constraint to a table.
        Overrides:
        getAddPrimaryKeyConstraintString in class Dialect
        Parameters:
        constraintName - The name of the PK constraint.
        Returns:
        The "add PK" fragment
      • getNullColumnString

        public java.lang.String getNullColumnString()
        Description copied from class: Dialect
        The keyword used to specify a nullable column.
        Overrides:
        getNullColumnString in class Dialect
        Returns:
        String
      • getSequenceNextValString

        public java.lang.String getSequenceNextValString​(java.lang.String sequenceName)
        Description copied from class: Dialect
        Generate the appropriate select statement to to retrieve the next value of a sequence.

        This should be a "stand alone" select statement.

        Overrides:
        getSequenceNextValString in class Dialect
        Parameters:
        sequenceName - the name of the sequence
        Returns:
        String The "nextval" select string.
      • getSelectSequenceNextValString

        public java.lang.String getSelectSequenceNextValString​(java.lang.String sequenceName)
        Description copied from class: Dialect
        Generate the select expression fragment that will retrieve the next value of a sequence as part of another (typically DML) statement.

        This differs from Dialect.getSequenceNextValString(String) in that this should return an expression usable within another statement.

        Overrides:
        getSelectSequenceNextValString in class Dialect
        Parameters:
        sequenceName - the name of the sequence
        Returns:
        The "nextval" fragment.
      • getCreateSequenceString

        public java.lang.String getCreateSequenceString​(java.lang.String sequenceName)
        Description copied from class: Dialect
        Typically dialects which support sequences can create a sequence with a single command. This is convenience form of Dialect.getCreateSequenceStrings(java.lang.String) to help facilitate that.

        Dialects which support sequences and can create a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to create a sequence should instead override Dialect.getCreateSequenceStrings(java.lang.String).

        Overrides:
        getCreateSequenceString in class Dialect
        Parameters:
        sequenceName - The name of the sequence
        Returns:
        The sequence creation command
      • getDropSequenceString

        public java.lang.String getDropSequenceString​(java.lang.String sequenceName)
        Description copied from class: Dialect
        Typically dialects which support sequences can drop a sequence with a single command. This is convenience form of Dialect.getDropSequenceStrings(java.lang.String) to help facilitate that.

        Dialects which support sequences and can drop a sequence in a single command need *only* override this method. Dialects which support sequences but require multiple commands to drop a sequence should instead override Dialect.getDropSequenceStrings(java.lang.String).

        Overrides:
        getDropSequenceString in class Dialect
        Parameters:
        sequenceName - The name of the sequence
        Returns:
        The sequence drop commands
      • getQuerySequencesString

        public java.lang.String getQuerySequencesString()
        Description copied from class: Dialect
        Get the select command used retrieve the names of all sequences.
        Overrides:
        getQuerySequencesString in class Dialect
        Returns:
        The select command; or null if sequences are not supported.
        See Also:
        SchemaUpdate
      • supportsSequences

        public boolean supportsSequences()
        Description copied from class: Dialect
        Does this dialect support sequences?
        Overrides:
        supportsSequences in class Dialect
        Returns:
        True if sequences supported; false otherwise.
      • supportsJdbcConnectionLobCreation

        public boolean supportsJdbcConnectionLobCreation​(java.sql.DatabaseMetaData databaseMetaData)
        Description copied from class: Dialect
        Check whether the JDBC Connection supports creating LOBs via Connection.createBlob(), Connection.createNClob() or Connection.createClob().
        Overrides:
        supportsJdbcConnectionLobCreation in class Dialect
        Parameters:
        databaseMetaData - JDBC DatabaseMetaData which can be used if LOB creation is supported only starting from a given Driver version
        Returns:
        true if LOBs can be created via the JDBC Connection.