Class OracleDialect

    • Constructor Detail

      • OracleDialect

        public OracleDialect()
    • Method Detail

      • getRowConverter

        public JdbcRowConverter getRowConverter​(org.apache.flink.table.types.logical.RowType rowType)
        Description copied from interface: JdbcDialect
        Get converter that convert jdbc object and Flink internal object each other.
        Parameters:
        rowType - the given row type
        Returns:
        a row converter for the database
      • getLimitClause

        public String getLimitClause​(long limit)
        Description copied from interface: JdbcDialect
        Get limit clause to limit the number of emitted row from the jdbc source.
        Parameters:
        limit - number of row to emit. The value of the parameter should be non-negative.
        Returns:
        the limit clause.
      • defaultDriverName

        public Optional<String> defaultDriverName()
        Returns:
        the default driver class name, if user has not configured the driver class name, then this one will be used.
      • dialectName

        public String dialectName()
        Description copied from interface: JdbcDialect
        Get the name of jdbc dialect.
        Returns:
        the dialect name.
      • quoteIdentifier

        public String quoteIdentifier​(String identifier)
        Description copied from interface: JdbcDialect
        Quotes the identifier.

        Used to put quotes around the identifier if the column name is a reserved keyword or contains characters requiring quotes (e.g., space).

        Returns:
        the quoted identifier.
      • getUpsertStatement

        public Optional<String> getUpsertStatement​(String tableName,
                                                   String[] fieldNames,
                                                   String[] uniqueKeyFields)
        Description copied from interface: JdbcDialect
        Constructs the dialects upsert statement if supported; such as MySQL's DUPLICATE KEY UPDATE, or PostgreSQL's ON CONFLICT... DO UPDATE SET... If supported, the returned string will be used as a PreparedStatement. Fields in the statement must be in the same order as the fieldNames parameter.

        If the dialect does not support native upsert statements, the writer will fallback to SELECT + UPDATE/INSERT which may have poor performance.

        Returns:
        The upsert statement if supported, otherwise None.