Class MySqlDialect

    • Constructor Detail

      • MySqlDialect

        public MySqlDialect()
    • 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.
      • 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)
        Mysql upsert query use DUPLICATE KEY UPDATE.

        NOTE: It requires Mysql's primary key to be consistent with pkFields.

        We don't use REPLACE INTO, if there are other fields, we can keep their previous values.

        Returns:
        The upsert statement if supported, otherwise None.
      • dialectName

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

        public String appendDefaultUrlProperties​(String url)
        Description copied from interface: JdbcDialect
        Appends default JDBC properties to url for current dialect. Some database dialects will set default JDBC properties for performance or optimization consideration, such as MySQL dialect uses 'rewriteBatchedStatements=true' to enable execute multiple MySQL statements in batch mode.
        Returns:
        A JDBC url that has appended the default properties.