| java.lang.Object com.versant.core.jdbc.sql.SqlDriver com.versant.core.jdbc.sql.PostgresSqlDriver
PostgresSqlDriver | public class PostgresSqlDriver extends SqlDriver (Code) | | A driver for Postgres.
|
Method Summary | |
protected void | addPrimaryKeyConstraint(JdbcTable t, CharBuf s) Add the primary key constraint in isolation. | protected void | addSequenceColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments) | protected void | appendAddNewColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments) Append a column that needs to be added. | protected void | appendCreateColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments) Append the part of a create table statement for a column. | protected void | appendCreateColumnNulls(JdbcTable t, JdbcColumn c, CharBuf s) Append the allow nulls part of the definition for a column in a
create table statement. | protected void | appendDropColumn(TableDiff tableDiff, JdbcColumn c, CharBuf s, boolean comments) Append a column that needs to be added. | protected void | appendDropIndex(CharBuf s, JdbcTable t, JdbcIndex idx, boolean comments) Generate a 'drop index' statement for idx. | protected void | appendModifyColumn(TableDiff tableDiff, ColumnDiff diff, CharBuf s, boolean comments) Append a column that needs to be added. | protected void | appendPrimaryKeyConstraint(JdbcTable t, CharBuf s) Add the primary key constraint part of a create table statement to s. | protected void | appendRefConstraint(CharBuf s, JdbcConstraint c) Append an 'add constraint' statement for c. | protected void | appendRefDropConstraint(CharBuf s, JdbcConstraint c, boolean comments) Append an 'drop constraint' statement for c. | public void | appendSqlFrom(JdbcTable table, String alias, CharBuf s) Append the from list entry for a table. | public void | appendSqlFromJoin(JdbcTable table, String alias, SqlExp exp, boolean outer, CharBuf s) Append the from list entry for a table that is the right hand table
in a join i.e. | public void | appendWhereParam(CharBuf s, JdbcColumn c) Append a replacable parameter part of a where clause for the column.
This gives the driver a chance to embed type conversions and so on
for types not handled well by the JDBC driver (e.g. | public JdbcNameGenerator | createJdbcNameGenerator() Create a default name generator instance for JdbcStore's using this
driver. | public void | customizeForServer(Connection con) Find out what version of Postgres con is for and adapt. | protected void | dropPrimaryKeyConstraint(JdbcTable t, CharBuf s) Drop the primary key constraint in isolation. | protected void | dropSequenceColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments) | public void | dropTable(Connection con, String table, Statement stat) Drop the table and all its constraints etc. | public String | getAliasPrepend() | public Object | getAutoIncColumnValue(JdbcTable classTable, Connection con, Statement stat) | public String | getConnectionValidateSQL() Get default SQL to test a connection or null if none available. | public HashMap | getDBSchema(Connection con, ControlParams params) Get the JdbcTables from the database for the given database con. | public HashMap | getJavaTypeMappings() Get the default field mappings for this driver. | public String | getName() Get the name of this driver. | public String | getPGType(int oid) remember to init the type cash first. | public int | getSQLType(String pgTypeName) | public int | getSQLType(int oid) remember to init the type cash first. | public char[] | getSelectForUpdate() Get whatever needs to be appended to a SELECT statement to lock the
rows if this makes sense for the database. | public String | getSqlParamString(int jdbcType) Get a String for a replacable parameter. | public char[] | getSqlParamStringChars(int jdbcType) | protected JdbcTypeMapping | getTypeMapping(int jdbcType) Get the default type mapping for the supplied JDBC type code from
java.sql.Types or null if the type is not supported. | public boolean | haveMinimumServerVersion(String ver, Connection con) | public boolean | isAnsiJoinSyntax() Does this driver use the ANSI join syntax (i.e. | public boolean | isAutoIncSupported() | public boolean | isCustomizeForServerRequired() | public boolean | isFetchSizeSupported() | public boolean | isInsertBatchingSupported() | public boolean | isNullForeignKeyOk() | public boolean | isScrollableResultSetSupported() | public boolean | isSelectForUpdateAppendTable() | public boolean | isSelectForUpdateWithDistinctOk() | public boolean | isUpdateBatchingSupported() | protected boolean | isValidSchemaTable(String tableName) | protected void | print(PrintWriter out, String sql) Write an SQL statement to a script with appropriate separator. |
CHAR_SQLPARAM_NUMERIC_CAST | final public static char[] CHAR_SQLPARAM_NUMERIC_CAST(Code) | | |
CHAR_SQLPARAM_REAL_CAST | final public static char[] CHAR_SQLPARAM_REAL_CAST(Code) | | |
SQLPARAM_NUMERIC_CAST | final public static String SQLPARAM_NUMERIC_CAST(Code) | | |
SQLPARAM_REAL_CAST | final public static String SQLPARAM_REAL_CAST(Code) | | |
addPrimaryKeyConstraint | protected void addPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code) | | Add the primary key constraint in isolation.
|
appendCreateColumn | protected void appendCreateColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments)(Code) | | Append the part of a create table statement for a column.
|
appendCreateColumnNulls | protected void appendCreateColumnNulls(JdbcTable t, JdbcColumn c, CharBuf s)(Code) | | Append the allow nulls part of the definition for a column in a
create table statement.
|
appendModifyColumn | protected void appendModifyColumn(TableDiff tableDiff, ColumnDiff diff, CharBuf s, boolean comments)(Code) | | Append a column that needs to be added.
|
appendPrimaryKeyConstraint | protected void appendPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code) | | Add the primary key constraint part of a create table statement to s.
|
appendRefDropConstraint | protected void appendRefDropConstraint(CharBuf s, JdbcConstraint c, boolean comments)(Code) | | Append an 'drop constraint' statement for c.
|
appendSqlFromJoin | public void appendSqlFromJoin(JdbcTable table, String alias, SqlExp exp, boolean outer, CharBuf s)(Code) | | Append the from list entry for a table that is the right hand table
in a join i.e. it is being joined to.
Parameters: exp - This is the expression that joins the tables Parameters: outer - If true then this is an outer join |
appendWhereParam | public void appendWhereParam(CharBuf s, JdbcColumn c)(Code) | | Append a replacable parameter part of a where clause for the column.
This gives the driver a chance to embed type conversions and so on
for types not handled well by the JDBC driver (e.g. BigDecimals for
the postgres JDBC driver).
|
createJdbcNameGenerator | public JdbcNameGenerator createJdbcNameGenerator()(Code) | | Create a default name generator instance for JdbcStore's using this
driver.
|
customizeForServer | public void customizeForServer(Connection con) throws SQLException(Code) | | Find out what version of Postgres con is for and adapt.
|
dropPrimaryKeyConstraint | protected void dropPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code) | | Drop the primary key constraint in isolation.
|
dropTable | public void dropTable(Connection con, String table, Statement stat) throws SQLException(Code) | | Drop the table and all its constraints etc. This must remove
constraints to this table from other tables so it can be dropped.
|
getConnectionValidateSQL | public String getConnectionValidateSQL()(Code) | | Get default SQL to test a connection or null if none available. This
must be a query that returns at least one row.
|
getJavaTypeMappings | public HashMap getJavaTypeMappings()(Code) | | Get the default field mappings for this driver. These map java classes
to column properties. Subclasses should override this, call super() and
replace mappings as needed.
|
getName | public String getName()(Code) | | Get the name of this driver.
|
getSelectForUpdate | public char[] getSelectForUpdate()(Code) | | Get whatever needs to be appended to a SELECT statement to lock the
rows if this makes sense for the database. This must have a leading
space if not empty.
|
getSqlParamString | public String getSqlParamString(int jdbcType)(Code) | | Get a String for a replacable parameter. This gives the driver a
chance to embed type conversions and so on for types not handled well
by the JDBC driver (e.g. BigDecimals and the postgres JDBC driver).
|
getSqlParamStringChars | public char[] getSqlParamStringChars(int jdbcType)(Code) | | |
getTypeMapping | protected JdbcTypeMapping getTypeMapping(int jdbcType)(Code) | | Get the default type mapping for the supplied JDBC type code from
java.sql.Types or null if the type is not supported. There is no
need to set the database or jdbcType on the mapping as this is done
after this call returns. Subclasses should override this and to
customize type mappings.
|
isAnsiJoinSyntax | public boolean isAnsiJoinSyntax()(Code) | | Does this driver use the ANSI join syntax (i.e. the join clauses appear
in the from list e.g. postgres)?
|
isAutoIncSupported | public boolean isAutoIncSupported()(Code) | | |
isCustomizeForServerRequired | public boolean isCustomizeForServerRequired()(Code) | | |
isFetchSizeSupported | public boolean isFetchSizeSupported()(Code) | | |
isInsertBatchingSupported | public boolean isInsertBatchingSupported()(Code) | | Does the JDBC driver support statement batching?
|
isNullForeignKeyOk | public boolean isNullForeignKeyOk()(Code) | | Is null a valid value for a column with a foreign key constraint?
|
isScrollableResultSetSupported | public boolean isScrollableResultSetSupported()(Code) | | Does the JDBC driver support scrollable result sets?
|
isSelectForUpdateAppendTable | public boolean isSelectForUpdateAppendTable()(Code) | | Does 'SELECT FOR UPDATE' require the main table of the query to be
appended (ala postgres)?
|
isSelectForUpdateWithDistinctOk | public boolean isSelectForUpdateWithDistinctOk()(Code) | | Can 'SELECT FOR UPDATE' be used with a DISTINCT?
|
isUpdateBatchingSupported | public boolean isUpdateBatchingSupported()(Code) | | Does the JDBC driver support statement batching for updates?
|
isValidSchemaTable | protected boolean isValidSchemaTable(String tableName)(Code) | | |
print | protected void print(PrintWriter out, String sql)(Code) | | Write an SQL statement to a script with appropriate separator.
|
Methods inherited from com.versant.core.jdbc.sql.SqlDriver | protected void add(HashMap ans, JdbcJavaTypeMapping m)(Code)(Java Doc) protected void addPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code)(Java Doc) protected void appendAddNewColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendColumnNameList(JdbcColumn[] cols, CharBuf s)(Code)(Java Doc) protected void appendColumnType(JdbcColumn c, CharBuf s)(Code)(Java Doc) protected void appendColumnType(JdbcColumn c, CharBuf s, boolean useZeroScale)(Code)(Java Doc) protected void appendCreateColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendCreateColumnAutoInc(JdbcTable t, JdbcColumn c, CharBuf s)(Code)(Java Doc) protected void appendCreateColumnNulls(JdbcTable t, JdbcColumn c, CharBuf s)(Code)(Java Doc) protected void appendCreateIndex(CharBuf s, JdbcTable t, JdbcIndex idx, boolean comments)(Code)(Java Doc) protected void appendDropColumn(TableDiff tableDiff, JdbcColumn c, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendDropIndex(CharBuf s, JdbcTable t, JdbcIndex idx, boolean comments)(Code)(Java Doc) protected void appendIndexesInCreateTable(JdbcTable t, CharBuf s)(Code)(Java Doc) protected void appendModifyColumn(TableDiff tableDiff, ColumnDiff diff, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code)(Java Doc) protected void appendRefConstraint(CharBuf s, JdbcConstraint c)(Code)(Java Doc) protected void appendRefDropConstraint(CharBuf s, JdbcConstraint c, boolean comments)(Code)(Java Doc) public void appendSqlColumn(JdbcColumn col, String alias, CharBuf s)(Code)(Java Doc) public void appendSqlFrom(JdbcTable table, String alias, CharBuf s)(Code)(Java Doc) public void appendSqlFromJoin(JdbcTable table, String alias, SqlExp exp, boolean outer, CharBuf s)(Code)(Java Doc) public void appendSqlJoin(String leftAlias, JdbcColumn left, String rightAlias, JdbcColumn right, boolean outer, CharBuf s)(Code)(Java Doc) public void appendSqlLiteral(int type, String value, CharBuf s)(Code)(Java Doc) protected void appendTableType(JdbcTable t, CharBuf s)(Code)(Java Doc) public void appendWhereParam(CharBuf s, JdbcColumn c)(Code)(Java Doc) public boolean checkDDL(ArrayList tables, Connection con, PrintWriter errors, PrintWriter fix, ControlParams params) throws SQLException(Code)(Java Doc) public boolean checkDDLForStartup(ArrayList tables, Connection con, PrintWriter out, PrintWriter fix, ControlParams params) throws SQLException(Code)(Java Doc) public boolean checkLenght(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) public boolean checkNulls(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) public boolean checkScale(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) protected boolean checkTable(JdbcTable t, Statement stat, PrintWriter out)(Code)(Java Doc) public boolean checkType(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) public void cleanupForGetQueryPlan(Connection con)(Code)(Java Doc) public String comment(String msg)(Code)(Java Doc) protected DefaultJdbcNameGenerator createDefaultJdbcNameGenerator()(Code)(Java Doc) public static Driver createJdbcDriver(String name, ClassLoader cl)(Code)(Java Doc) public JdbcNameGenerator createJdbcNameGenerator()(Code)(Java Doc) public static SqlDriver createSqlDriver(String name, Driver jdbcDriver)(Code)(Java Doc) public void customizeForServer(Connection con) throws SQLException(Code)(Java Doc) public static RuntimeException defaultMapException(Throwable cause, String message, boolean isFatal)(Code)(Java Doc) protected void dropPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code)(Java Doc) public void dropTable(Connection con, String table) throws SQLException(Code)(Java Doc) protected void dropTable(Connection con, String table, Statement stat) throws SQLException(Code)(Java Doc) public void enableIdentityInsert(Connection con, String table, boolean on) throws SQLException(Code)(Java Doc) public void fillDatabaseMetaData(ArrayList tables, HashMap dbMap)(Code)(Java Doc) public void fixAllNames(HashMap nameMap)(Code)(Java Doc) protected void fixColumnsNonDirect(TableDiff tableDiff, PrintWriter out)(Code)(Java Doc) protected void fixConstraintsForNonDirectColumns(TableDiff tableDiff, PrintWriter out, boolean drop)(Code)(Java Doc) protected void fixCoulumns(TableDiff tableDiff, PrintWriter out)(Code)(Java Doc) protected void fixIndexForNonDirectColumns(TableDiff tableDiff, PrintWriter out, boolean drop)(Code)(Java Doc) public void generateConstraints(JdbcTable t, Statement stat, PrintWriter out, boolean comments) throws SQLException(Code)(Java Doc) public void generateCreateIndexes(JdbcTable t, Statement stat, PrintWriter out, boolean comments) throws SQLException(Code)(Java Doc) public void generateCreateTable(JdbcTable t, Statement stat, PrintWriter out, boolean comments) throws SQLException(Code)(Java Doc) public void generateDDL(ArrayList tables, Connection con, PrintWriter out, boolean comments)(Code)(Java Doc) public int getAggregateTypeCode(int aggType, int currentTypeCode)(Code)(Java Doc) public String getAliasPrepend()(Code)(Java Doc) public Object getAutoIncColumnValue(JdbcTable classTable, Connection con, Statement stat) throws SQLException(Code)(Java Doc) public String getAutoIncPostInsertSQLSuffix(JdbcTable classTable)(Code)(Java Doc) protected String getCatalog(Connection con) throws SQLException(Code)(Java Doc) protected ColumnDiff getColumnDiffForName(TableDiff tableDiff, String name)(Code)(Java Doc) public String getConnectionInitSQL()(Code)(Java Doc) public String getConnectionValidateSQL()(Code)(Java Doc) protected ConstraintDiff getConstraintDiffForName(TableDiff tableDiff, String name, boolean db)(Code)(Java Doc) public HashMap getDBSchema(Connection con, ControlParams params) throws SQLException(Code)(Java Doc) public HashMap getDatabaseMetaData(ArrayList tables, Connection con) throws SQLException(Code)(Java Doc) protected String getDefaultForType(JdbcColumn ourCol)(Code)(Java Doc) public int getDefaultPsCacheMax()(Code)(Java Doc) protected String getDefaultValueComment()(Code)(Java Doc) public static String getDriverFromURL(String url)(Code)(Java Doc) protected IndexDiff getIndexDiffForName(TableDiff tableDiff, String name, boolean db)(Code)(Java Doc) public HashMap getJavaTypeMappings()(Code)(Java Doc) public int getMajorVersion()(Code)(Java Doc) public int getMaxInOperands()(Code)(Java Doc) public int getMinorVersion()(Code)(Java Doc) public String getMinorVersionPatchLevel()(Code)(Java Doc) abstract public String getName()(Code)(Java Doc) public static String getNameFromURL(String url)(Code)(Java Doc) public String getQueryPlan(Connection con, PreparedStatement ps)(Code)(Java Doc) public String getRunCommand()(Code)(Java Doc) protected String getSchema(Connection con)(Code)(Java Doc) public char[] getSelectForUpdate()(Code)(Java Doc) public String getSqlBinaryOp(int op)(Code)(Java Doc) public String getSqlParamString(int jdbcType)(Code)(Java Doc) public char[] getSqlParamStringChars(int jdbcType)(Code)(Java Doc) public String getSqlUnaryFunctionName(int func)(Code)(Java Doc) public ArrayList getTableNames(Connection con) throws SQLException(Code)(Java Doc) protected String getTempColumnName(JdbcTable table)(Code)(Java Doc) protected String getTempTableName(JdbcTable table, int lenght)(Code)(Java Doc) protected JdbcTypeMapping getTypeMapping(int jdbcType)(Code)(Java Doc) final public JdbcTypeMapping[] getTypeMappings()(Code)(Java Doc) protected String getTypeName(int jdbcType)(Code)(Java Doc) public String getVersion()(Code)(Java Doc) protected void init(Driver jdbcDriver)(Code)(Java Doc) boolean isAddSequenceColumn(JdbcColumn addColumn)(Code)(Java Doc) public boolean isAnsiJoinSyntax()(Code)(Java Doc) public boolean isAutoIncSupported()(Code)(Java Doc) public boolean isBatchingSupportedForJdbcType(int jdbcType)(Code)(Java Doc) public boolean isClearBatchRequired()(Code)(Java Doc) public boolean isCommentSupported()(Code)(Java Doc) public boolean isConvertExistsToDistinctJoin()(Code)(Java Doc) public boolean isConvertExistsToJoins(int type)(Code)(Java Doc) public boolean isCustomizeForServerRequired()(Code)(Java Doc) boolean isDirectAddColumnSupported(JdbcColumn ourCol)(Code)(Java Doc) boolean isDirectDropColumnSupported()(Code)(Java Doc) boolean isDirectLenghtColumnChangesSupported(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) boolean isDirectNullColumnChangesSupported()(Code)(Java Doc) boolean isDirectScaleColumnChangesSupported(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) boolean isDirectTypeColumnChangesSupported(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) boolean isDropConstraintsForDropTableSupported()(Code)(Java Doc) boolean isDropPrimaryKeySupported()(Code)(Java Doc) boolean isDropSequenceColumn(TableDiff tableDiff, JdbcColumn dropColumn)(Code)(Java Doc) public boolean isDuplicateKey(Throwable e)(Code)(Java Doc) public boolean isExtraParens()(Code)(Java Doc) public boolean isFetchSizeSupported()(Code)(Java Doc) public boolean isHandleDuplicateKey()(Code)(Java Doc) public boolean isHandleLockTimeout()(Code)(Java Doc) public boolean isInsertBatchingSupported()(Code)(Java Doc) public boolean isLikeStupid()(Code)(Java Doc) public boolean isLockTimeout(Throwable e)(Code)(Java Doc) public boolean isNullForeignKeyOk()(Code)(Java Doc) public boolean isOptimizeExistsUnderOrToOuterJoin()(Code)(Java Doc) public boolean isOracleStoreProcs()(Code)(Java Doc) public boolean isPreparedStatementPoolingOK()(Code)(Java Doc) public boolean isPutOrderColsInSelect()(Code)(Java Doc) public boolean isScrollableResultSetSupported()(Code)(Java Doc) public boolean isSelectForUpdateAppendTable()(Code)(Java Doc) public boolean isSelectForUpdateWithAggregateOk()(Code)(Java Doc) public boolean isSelectForUpdateWithDistinctOk()(Code)(Java Doc) public boolean isSetTransactionIsolationLevelSupported()(Code)(Java Doc) public boolean isSubQueryJoinMayUseOuterQueryCols()(Code)(Java Doc) public boolean isUpdateBatchingSupported()(Code)(Java Doc) public boolean isUseIndexesForOrderCols()(Code)(Java Doc) protected boolean isValidSchemaTable(String tableName)(Code)(Java Doc) public RuntimeException mapException(Throwable cause, String message, boolean isFatal)(Code)(Java Doc) public static RuntimeException mapException(SqlDriver sqlDriver, Throwable cause, String message)(Code)(Java Doc) public static RuntimeException mapException(SqlDriver sqlDriver, Throwable cause, String message, boolean isFatal)(Code)(Java Doc) protected String pad(int i)(Code)(Java Doc) public String prepareForGetQueryPlan(Connection con, String sql)(Code)(Java Doc) protected void print(PrintWriter out, String sql)(Code)(Java Doc) public boolean putOrderColsInGroupBy()(Code)(Java Doc) protected void reportFixes(ArrayList diffList, PrintWriter out) throws SQLException(Code)(Java Doc) public void setAllTableAndViewNames(Connection con) throws SQLException(Code)(Java Doc) protected String shrinkName(String name, int maxlen)(Code)(Java Doc) public String toSqlLiteral(double d)(Code)(Java Doc) public String toSqlLiteral(long l)(Code)(Java Doc) public String toSqlLiteral(String s)(Code)(Java Doc) public String toSqlLiteral(boolean b)(Code)(Java Doc) public void updateClassForPostInsertKeyGen(ClassMetaData cmd, JdbcMappingResolver mappingResolver)(Code)(Java Doc) public boolean useColAliasForAddedCols()(Code)(Java Doc) public boolean useColumnIndexForGroupBy()(Code)(Java Doc) protected boolean useZeroScale(JdbcColumn c)(Code)(Java Doc)
|
|
|