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 - if we have issues gettng the schema
      • 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 statement
        currentDatabase - The "contextual database" of the DDL statement
        position - The position of the DDL statement
        Returns:
        A list of the schema changes parsed from the SQL.
        Throws:
        SchemaStoreException - if we have trouble processing or storing the schema change
        InvalidSchemaError - if we find the schema to be in a bad state
      • 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 - if we have trouble getting the schema id