Class PlatformDefaultImpl

    • Constructor Detail

      • PlatformDefaultImpl

        public PlatformDefaultImpl()
        Default constructor.
    • Method Detail

      • setSchemaTypeToSqlTypeMapping

        protected void setSchemaTypeToSqlTypeMapping​(SchemaType schemaType,
                                                     SqlType sqlType)
        Adds a mapping to the torque schema type -> sql type map.
        Parameters:
        schemaType - the torque schema type which should be mapped, not null.
        sqlType - the sql type for the torque schema type, not null.
      • formatDateTimeString

        protected String formatDateTimeString​(Date date,
                                              String format)
        Helper function to format date values to a platform-specific string. set ZoneId to GMT timezone.
        Parameters:
        date - the Date object
        format - the format string
        Returns:
        the formatted string
      • hasScale

        public boolean hasScale​(String sqlType)
        Description copied from interface: Platform
        Returns if the RDBMS-specific SQL type has a scale attribute.
        Specified by:
        hasScale in interface Platform
        Parameters:
        sqlType - the SQL type
        Returns:
        true if the type has a scale attribute
        See Also:
        TODO collect info for all platforms
      • hasSize

        public boolean hasSize​(String sqlType)
        Description copied from interface: Platform
        Returns if the RDBMS-specific SQL type has a size attribute.
        Specified by:
        hasSize in interface Platform
        Parameters:
        sqlType - the SQL type
        Returns:
        true if the type has a size attribute
        See Also:
        TODO collect info for all platforms
      • getSizeSuffix

        public String getSizeSuffix​(String sqlType)
        Returns a possible SQL suffix for column definitions of certain SQL Types, e.g. for Oracle VARCHAR2 columns, it typically makes sense to use 'x CHAR' instead of 'x' as size.
        Specified by:
        getSizeSuffix in interface Platform
        Parameters:
        sqlType - the SQL type to determine the suffix for.
        Returns:
        The size suffix, not null. This implementation always returns the empty string.
      • createNotNullBeforeAutoincrement

        public boolean createNotNullBeforeAutoincrement()
        Description copied from interface: Platform
        Returns whether the "not null part" of the definition of a column should be generated before the "autoincrement part" in a "create table" statement.
        Specified by:
        createNotNullBeforeAutoincrement in interface Platform
        Returns:
        true if the "not null part" should be first, false if the "autoincrement part" should be first in a "create table" statement.
        See Also:
        Platform.createNotNullBeforeAutoincrement()
      • quoteAndEscape

        public String quoteAndEscape​(String text)
        Description copied from interface: Platform
        Quotes and escapes a string such that it can be used as literal String value in SQL.
        Specified by:
        quoteAndEscape in interface Platform
        Parameters:
        text - The string to escape, or null.
        Returns:
        the escaped String, not null.
        See Also:
        Platform.quoteAndEscape(String)
      • escapeBackslashes

        protected boolean escapeBackslashes()
        Returns whether backslashes must be escaped in string literals.
        Returns:
        true if backslashes bust be escaped, false otherwise.
      • getDateString

        public String getDateString​(Date date)
        Formats the given date as date string which is parseable by the database.
        Specified by:
        getDateString in interface Platform
        Parameters:
        date - the date to format.
        Returns:
        the date string, inclusive string escaping.
      • getTimeString

        public String getTimeString​(Date date)
        Formats the given date as time string which is parseable by the database.
        Specified by:
        getTimeString in interface Platform
        Parameters:
        date - the date to format.
        Returns:
        the time string, inclusive string escaping.
      • getTimestampString

        public String getTimestampString​(Date date)
        Formats the given date as timestamp string which is parseable by the database.
        Specified by:
        getTimestampString in interface Platform
        Parameters:
        date - the date to format.
        Returns:
        the timestamp string, inclusive string escaping.
      • usesStandaloneSchema

        public boolean usesStandaloneSchema()
        Returns whether the database has schema support where a schema is not tied to a user (oracle) or database (mysql), but can be created separately.
        Specified by:
        usesStandaloneSchema in interface Platform
        Returns:
        this implementation returns false.
      • hasUniqueConstraintSize

        public boolean hasUniqueConstraintSize()
        Description copied from interface: Platform
        Returns whether the database has schema support unique constraint for columns with size
        Specified by:
        hasUniqueConstraintSize in interface Platform
        Returns:
        true if unique column constraint has size