org.apache.ddlutils.platform.postgresql
Class PostgreSqlPlatform

java.lang.Object
  extended by org.apache.ddlutils.util.JdbcSupport
      extended by org.apache.ddlutils.platform.PlatformImplBase
          extended by org.apache.ddlutils.platform.postgresql.PostgreSqlPlatform
All Implemented Interfaces:
Platform

public class PostgreSqlPlatform
extends PlatformImplBase

The platform implementation for PostgresSql.

Version:
$Revision: 231306 $

Field Summary
static String DATABASENAME
          Database name of this platform.
static String JDBC_DRIVER
          The standard PostgreSQL jdbc driver.
static String JDBC_SUBPROTOCOL
          The subprotocol used by the standard PostgreSQL driver.
 
Fields inherited from class org.apache.ddlutils.platform.PlatformImplBase
MODEL_DEFAULT_NAME
 
Constructor Summary
PostgreSqlPlatform()
          Creates a new platform instance.
 
Method Summary
 void createDatabase(String jdbcDriverClassName, String connectionUrl, String username, String password, Map parameters)
          Creates the database specified by the given parameters. Please note that this method does not use a data source set via Platform.setDataSource(DataSource) because it is not possible to retrieve the connection information from it without establishing a connection.
The given connection url is the url that you'd use to connect to the already-created database.
On some platforms, this method suppurts additional parameters. These are documented in the manual section for the individual platforms.
 void dropDatabase(String jdbcDriverClassName, String connectionUrl, String username, String password)
          Drops the database specified by the given parameters. Please note that this method does not use a data source set via Platform.setDataSource(DataSource) because it is not possible to retrieve the connection information from it without establishing a connection.
 String getName()
          Returns the name of the database that this platform is for.
protected  void setObject(PreparedStatement statement, int sqlIndex, DynaBean dynaBean, SqlDynaProperty property)
          Sets a parameter of the prepared statement based on the type of the column of the property.
 
Methods inherited from class org.apache.ddlutils.platform.PlatformImplBase
afterInsert, afterUpdate, alterTables, alterTables, alterTables, alterTables, alterTables, alterTables, alterTables, alterTables, beforeInsert, beforeUpdate, createDeleteSql, createInsertSql, createResultSetIterator, createSelectLastInsertIdSql, createTables, createTables, createTables, createTables, createUpdateSql, delete, delete, dropTable, dropTable, dropTables, dropTables, evaluateBatch, evaluateBatch, exists, extractColumnValue, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getCreateTablesSql, getCreateTablesSql, getDeleteSql, getDropTableSql, getDropTablesSql, getInsertSql, getLog, getModelReader, getObjectFromResultSet, getObjectFromResultSet, getPlatformInfo, getSqlBuilder, getUpdateSql, insert, insert, insert, insert, isDelimitedIdentifierModeOn, isForeignKeysSorted, isIdentityOverrideOn, isScriptModeOn, isSqlCommentsOn, logWarnings, postprocessModelFromDatabase, query, query, query, query, readModelFromDatabase, readModelFromDatabase, readModelFromDatabase, readModelFromDatabase, setDelimitedIdentifierModeOn, setForeignKeysSorted, setIdentityOverrideOn, setModelReader, setScriptModeOn, setSqlBuilder, setSqlCommentsOn, setStatementParameterValue, shutdownDatabase, shutdownDatabase, store, toColumnValues, update, update
 
Methods inherited from class org.apache.ddlutils.util.JdbcSupport
borrowConnection, closeStatement, getDataSource, getPassword, getUsername, returnConnection, setDataSource, setPassword, setUsername
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.ddlutils.Platform
borrowConnection, getDataSource, getPassword, getUsername, returnConnection, setDataSource, setPassword, setUsername
 

Field Detail

DATABASENAME

public static final String DATABASENAME
Database name of this platform.

See Also:
Constant Field Values

JDBC_DRIVER

public static final String JDBC_DRIVER
The standard PostgreSQL jdbc driver.

See Also:
Constant Field Values

JDBC_SUBPROTOCOL

public static final String JDBC_SUBPROTOCOL
The subprotocol used by the standard PostgreSQL driver.

See Also:
Constant Field Values
Constructor Detail

PostgreSqlPlatform

public PostgreSqlPlatform()
Creates a new platform instance.

Method Detail

getName

public String getName()
Returns the name of the database that this platform is for.

Returns:
The name

createDatabase

public void createDatabase(String jdbcDriverClassName,
                           String connectionUrl,
                           String username,
                           String password,
                           Map parameters)
                    throws DatabaseOperationException,
                           UnsupportedOperationException
Creates the database specified by the given parameters. Please note that this method does not use a data source set via Platform.setDataSource(DataSource) because it is not possible to retrieve the connection information from it without establishing a connection.
The given connection url is the url that you'd use to connect to the already-created database.
On some platforms, this method suppurts additional parameters. These are documented in the manual section for the individual platforms.

Specified by:
createDatabase in interface Platform
Overrides:
createDatabase in class PlatformImplBase
Parameters:
jdbcDriverClassName - The jdbc driver class name
connectionUrl - The url to connect to the database if it were already created
username - The username for creating the database
password - The password for creating the database
parameters - Additional parameters relevant to database creation (which are platform specific)
Throws:
DatabaseOperationException
UnsupportedOperationException

dropDatabase

public void dropDatabase(String jdbcDriverClassName,
                         String connectionUrl,
                         String username,
                         String password)
                  throws DatabaseOperationException,
                         UnsupportedOperationException
Drops the database specified by the given parameters. Please note that this method does not use a data source set via Platform.setDataSource(DataSource) because it is not possible to retrieve the connection information from it without establishing a connection.

Specified by:
dropDatabase in interface Platform
Overrides:
dropDatabase in class PlatformImplBase
Parameters:
jdbcDriverClassName - The jdbc driver class name
connectionUrl - The url to connect to the database
username - The username for creating the database
password - The password for creating the database
Throws:
DatabaseOperationException
UnsupportedOperationException

setObject

protected void setObject(PreparedStatement statement,
                         int sqlIndex,
                         DynaBean dynaBean,
                         SqlDynaProperty property)
                  throws SQLException
Sets a parameter of the prepared statement based on the type of the column of the property.

Overrides:
setObject in class PlatformImplBase
Parameters:
statement - The statement
sqlIndex - The index of the parameter to set in the statement
dynaBean - The bean of which to take the value
property - The property of the bean, which also defines the corresponding column
Throws:
SQLException


Copyright © 2005-2007 Apache Software Foundation. All Rights Reserved.