public class MySQLDialect extends Object
| Constructor and Description |
|---|
MySQLDialect() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canHandle(String url)
Check if this dialect instance can handle a certain jdbc url.
|
Optional<String> |
defaultDriverName() |
String |
dialectName()
Get the name of jdbc dialect.
|
String |
getLimitClause(long limit)
Get limit clause to limit the number of emitted row from the jdbc source.
|
JdbcRowConverter |
getRowConverter(org.apache.flink.table.types.logical.RowType rowType)
Get converter that convert jdbc object and Flink internal object each other.
|
Optional<String> |
getUpsertStatement(String tableName,
String[] fieldNames,
String[] uniqueKeyFields)
Mysql upsert query use DUPLICATE KEY UPDATE.
|
int |
maxDecimalPrecision() |
int |
maxTimestampPrecision() |
int |
minDecimalPrecision() |
int |
minTimestampPrecision() |
String |
quoteIdentifier(String identifier)
Quotes the identifier.
|
List<org.apache.flink.table.types.logical.LogicalTypeRoot> |
unsupportedTypes()
Defines the unsupported types for the dialect.
|
void |
validate(org.apache.flink.table.api.TableSchema schema)
Check if this dialect instance support a specific data type in table schema.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetDeleteStatement, getInsertIntoStatement, getRowExistsStatement, getSelectFromStatement, getUpdateStatementpublic boolean canHandle(String url)
JdbcDialecturl - the jdbc url.public JdbcRowConverter getRowConverter(org.apache.flink.table.types.logical.RowType rowType)
JdbcDialectrowType - the given row typepublic String getLimitClause(long limit)
JdbcDialectlimit - number of row to emit. The value of the parameter should be non-negative.public Optional<String> defaultDriverName()
public String quoteIdentifier(String identifier)
JdbcDialect" to quote.public Optional<String> getUpsertStatement(String tableName, String[] fieldNames, String[] uniqueKeyFields)
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.
public String dialectName()
JdbcDialectpublic int maxDecimalPrecision()
public int minDecimalPrecision()
public int maxTimestampPrecision()
public int minTimestampPrecision()
public List<org.apache.flink.table.types.logical.LogicalTypeRoot> unsupportedTypes()
public void validate(org.apache.flink.table.api.TableSchema schema)
throws org.apache.flink.table.api.ValidationException
JdbcDialectvalidate in interface JdbcDialectschema - the table schema.org.apache.flink.table.api.ValidationException - in case of the table schema contains unsupported type.Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.