Package com.zendesk.maxwell.schema
Interface SchemaStore
-
- All Known Implementing Classes:
MysqlSchemaStore
,RecoverySchemaStore
public interface SchemaStore
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Schema
getSchema()
Retrieve the current schema If no Stored schema is found, this method should capture and save a snapshot of the current mysql schema.Long
getSchemaID()
Retrieve current schema id Schema id should be an always increasing integer, not current intended for use to refernce the schema, simply as a schema generation indicator.List<ResolvedSchemaChange>
processSQL(String sql, String currentDatabase, Position position)
Process a DDL statement Parse the given SQL, applying the changes to the schema.
-
-
-
Method Detail
-
getSchema
Schema getSchema() throws SchemaStoreException
Retrieve the current schema If no Stored schema is found, this method should capture and save a snapshot of the current mysql schema.- Returns:
- The schema, either retrieved from storage or captured.
- Throws:
SchemaStoreException
-
processSQL
List<ResolvedSchemaChange> processSQL(String sql, String currentDatabase, Position position) throws SchemaStoreException, InvalidSchemaError
Process a DDL statement Parse the given SQL, applying the changes to the schema. Returns a list of ResolvedSchemaChange objects, representing the DDL that was applied (if any)- Parameters:
sql
- The SQL of the DDL statementcurrentDatabase
- The "contextual database" of the DDL statementposition
- The position of the DDL statement- Returns:
- A list of the schema changes parsed from the SQL.
- Throws:
SchemaStoreException
InvalidSchemaError
-
getSchemaID
Long getSchemaID() throws SchemaStoreException
Retrieve current schema id Schema id should be an always increasing integer, not current intended for use to refernce the schema, simply as a schema generation indicator.- Returns:
- The current schema id
- Throws:
SchemaStoreException
-
-