Interface PipelineSQLBuilder

All Superinterfaces:
org.apache.shardingsphere.spi.type.typed.TypedSPI

public interface PipelineSQLBuilder extends org.apache.shardingsphere.spi.type.typed.TypedSPI
Pipeline SQL builder.
  • Method Details

    • buildCreateSchemaSQL

      default String buildCreateSchemaSQL(String schemaName)
      Build create schema SQL.
      Parameters:
      schemaName - schema name
      Returns:
      create schema SQL
    • buildInventoryDumpSQL

      String buildInventoryDumpSQL(String schemaName, String tableName, String uniqueKey, int uniqueKeyDataType, boolean firstQuery)
      Build inventory dump first SQL.
      Parameters:
      schemaName - schema name
      tableName - table name
      uniqueKey - unique key
      uniqueKeyDataType - unique key data type
      firstQuery - whether it's the first time query
      Returns:
      inventory dump SQL
    • buildInsertSQL

      String buildInsertSQL(String schemaName, DataRecord dataRecord, Map<LogicTableName,Set<String>> shardingColumnsMap)
      Build insert SQL.
      Parameters:
      schemaName - schema name
      dataRecord - data record
      shardingColumnsMap - sharding columns map
      Returns:
      insert SQL
    • buildUpdateSQL

      String buildUpdateSQL(String schemaName, DataRecord dataRecord, Collection<Column> conditionColumns, Map<LogicTableName,Set<String>> shardingColumnsMap)
      Build update SQL.
      Parameters:
      schemaName - schema name
      dataRecord - data record
      conditionColumns - condition columns
      shardingColumnsMap - sharding columns map
      Returns:
      update SQL
    • extractUpdatedColumns

      List<Column> extractUpdatedColumns(DataRecord record, Map<LogicTableName,Set<String>> shardingColumnsMap)
      Extract updated columns.
      Parameters:
      record - data record
      shardingColumnsMap - sharding columns map
      Returns:
      filtered columns
    • buildDeleteSQL

      String buildDeleteSQL(String schemaName, DataRecord dataRecord, Collection<Column> conditionColumns)
      Build delete SQL.
      Parameters:
      schemaName - schema name
      dataRecord - data record
      conditionColumns - condition columns
      Returns:
      delete SQL
    • buildTruncateSQL

      String buildTruncateSQL(String schemaName, String tableName)
      Build truncate SQL.
      Parameters:
      schemaName - schema name
      tableName - table name
      Returns:
      truncate SQL
    • buildCountSQL

      String buildCountSQL(String schemaName, String tableName)
      Build count SQL.
      Parameters:
      schemaName - schema name
      tableName - table name
      Returns:
      count SQL
    • buildChunkedQuerySQL

      String buildChunkedQuerySQL(String schemaName, String tableName, String uniqueKey, boolean firstQuery)
      Build query SQL.
      Parameters:
      schemaName - schema name
      tableName - table name
      uniqueKey - unique key, it may be primary key, not null
      firstQuery - first query
      Returns:
      query SQL
    • buildCheckEmptySQL

      String buildCheckEmptySQL(String schemaName, String tableName)
      Build check empty SQL.
      Parameters:
      schemaName - schema name
      tableName - table name
      Returns:
      check SQL
    • buildSplitByPrimaryKeyRangeSQL

      String buildSplitByPrimaryKeyRangeSQL(String schemaName, String tableName, String primaryKey)
      Build split by primary key range SQL.
      Parameters:
      schemaName - schema name
      tableName - table name
      primaryKey - primary key
      Returns:
      split SQL
    • buildCRC32SQL

      default Optional<String> buildCRC32SQL(String schemaName, String tableName, String column)
      Build CRC32 SQL.
      Parameters:
      schemaName - schema name
      tableName - table Name
      column - column
      Returns:
      CRC32 SQL