java.lang.Object
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.JdbcModelReader
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.postgresql.PostgreSqlModelReader

public class PostgreSqlModelReader extends JdbcModelReader
Reads a database model from a PostgreSql database.
Version:
$Revision: $
  • Constructor Details

    • PostgreSqlModelReader

      public PostgreSqlModelReader(Platform platform)
      Creates a new model reader for PostgreSql databases.
      Parameters:
      platform - The platform that this model reader belongs to
  • Method Details

    • readTable

      protected Table readTable(DatabaseMetaDataWrapper metaData, Map values) throws SQLException
      Reads the next table from the meta data.
      Overrides:
      readTable in class JdbcModelReader
      Parameters:
      metaData - The database meta data
      values - The table metadata values as defined by JdbcModelReader.getColumnsForTable()
      Returns:
      The table or null if the result set row did not contain a valid table
      Throws:
      SQLException
    • readColumn

      protected Column readColumn(DatabaseMetaDataWrapper metaData, Map values) throws SQLException
      Extracts a column definition from the result set.
      Overrides:
      readColumn in class JdbcModelReader
      Parameters:
      metaData - The database meta data
      values - The column meta data values as defined by JdbcModelReader.getColumnsForColumn()
      Returns:
      The column
      Throws:
      SQLException
    • isInternalForeignKeyIndex

      protected boolean isInternalForeignKeyIndex(DatabaseMetaDataWrapper metaData, Table table, ForeignKey fk, Index index)
      Tries to determine whether the index is the internal database-generated index for the given foreign key. Note that only non-unique indices with the correct columns are fed to this method. Redefine this method for specific platforms if there are better ways to determine internal indices.
      Overrides:
      isInternalForeignKeyIndex in class JdbcModelReader
      Parameters:
      metaData - The database meta data
      table - The table owning the index and foreign key
      fk - The foreign key
      index - The index to check
      Returns:
      true if the index seems to be an internal primary key one
    • isInternalPrimaryKeyIndex

      protected boolean isInternalPrimaryKeyIndex(DatabaseMetaDataWrapper metaData, Table table, Index index)
      Tries to determine whether the index is the internal database-generated index for the given table's primary key. Note that only unique indices with the correct columns are fed to this method. Redefine this method for specific platforms if there are better ways to determine internal indices.
      Overrides:
      isInternalPrimaryKeyIndex in class JdbcModelReader
      Parameters:
      metaData - The database meta data
      table - The table owning the index
      index - The index to check
      Returns:
      true if the index seems to be an internal primary key one