Search in sources :

Example 1 with PostgreSqlDatabasePlatform

use of org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform in project symmetric-ds by JumpMind.

the class PostgresBulkDatabaseWriterTest method testInsert1000Rows.

@Test
public void testInsert1000Rows() {
    if (platform != null && platform instanceof PostgreSqlDatabasePlatform) {
        platform.getSqlTemplate().update("truncate table test_bulkload_table_1");
        List<CsvData> datas = new ArrayList<CsvData>();
        for (int i = 0; i < 1000; i++) {
            String[] values = { getNextId(), "stri'ng2", "string not null2", "char2", "char not null2", "2007-01-02 03:20:10.0", "2007-02-03 04:05:06.0", "0", "47", "67.89", "-0.0747663" };
            CsvData data = new CsvData(DataEventType.INSERT, values);
            datas.add(data);
        }
        long count = writeData(new TableCsvData(platform.getTableFromCache("test_bulkload_table_1", false), datas));
        Assert.assertEquals(count, countRows("test_bulkload_table_1"));
    }
}
Also used : TableCsvData(org.jumpmind.symmetric.io.AbstractWriterTest.TableCsvData) ArrayList(java.util.ArrayList) PostgreSqlDatabasePlatform(org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform) CsvData(org.jumpmind.symmetric.io.data.CsvData) TableCsvData(org.jumpmind.symmetric.io.AbstractWriterTest.TableCsvData) Test(org.junit.Test)

Example 2 with PostgreSqlDatabasePlatform

use of org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform in project symmetric-ds by JumpMind.

the class JdbcSymmetricDialectFactory method create.

public ISymmetricDialect create() {
    AbstractSymmetricDialect dialect = null;
    if (platform instanceof MariaDBDatabasePlatform) {
        dialect = new MariaDBSymmetricDialect(parameterService, platform);
    } else if (platform instanceof MySqlDatabasePlatform) {
        dialect = new MySqlSymmetricDialect(parameterService, platform);
    } else if (platform instanceof OracleDatabasePlatform) {
        dialect = new OracleSymmetricDialect(parameterService, platform);
    } else if (platform instanceof MsSql2008DatabasePlatform) {
        dialect = new MsSqlSymmetricDialect(parameterService, platform);
    } else if (platform instanceof MsSql2005DatabasePlatform) {
        dialect = new MsSqlSymmetricDialect(parameterService, platform);
    } else if (platform instanceof MsSql2000DatabasePlatform) {
        dialect = new MsSql2000SymmetricDialect(parameterService, platform);
    } else if (platform instanceof GreenplumPlatform) {
        dialect = new GreenplumSymmetricDialect(parameterService, platform);
    } else if (platform instanceof RedshiftDatabasePlatform) {
        dialect = new RedshiftSymmetricDialect(parameterService, platform);
    } else if (platform instanceof PostgreSqlDatabasePlatform) {
        dialect = new PostgreSqlSymmetricDialect(parameterService, platform);
    } else if (platform instanceof DerbyDatabasePlatform) {
        dialect = new DerbySymmetricDialect(parameterService, platform);
    } else if (platform instanceof H2DatabasePlatform) {
        dialect = new H2SymmetricDialect(parameterService, platform);
    } else if (platform instanceof HsqlDbDatabasePlatform) {
        dialect = new HsqlDbSymmetricDialect(parameterService, platform);
    } else if (platform instanceof HsqlDb2DatabasePlatform) {
        dialect = new HsqlDb2SymmetricDialect(parameterService, platform);
    } else if (platform instanceof InformixDatabasePlatform) {
        dialect = new InformixSymmetricDialect(parameterService, platform);
    } else if (platform instanceof Db2zOsDatabasePlatform) {
        dialect = new Db2zOsSymmetricDialect(parameterService, platform);
    } else if (platform instanceof Db2As400DatabasePlatform) {
        dialect = new Db2As400SymmetricDialect(parameterService, platform);
    } else if (platform instanceof Db2DatabasePlatform) {
        int dbMajorVersion = platform.getSqlTemplate().getDatabaseMajorVersion();
        int dbMinorVersion = platform.getSqlTemplate().getDatabaseMinorVersion();
        if (dbMajorVersion < 9 || (dbMajorVersion == 9 && dbMinorVersion < 5)) {
            dialect = new Db2SymmetricDialect(parameterService, platform);
        } else {
            dialect = new Db2v9SymmetricDialect(parameterService, platform);
        }
    } else if (platform instanceof FirebirdDatabasePlatform) {
        int dbMajorVersion = platform.getSqlTemplate().getDatabaseMajorVersion();
        int dbMinorVersion = platform.getSqlTemplate().getDatabaseMinorVersion();
        if (dbMajorVersion == 2 && dbMinorVersion == 0) {
            dialect = new Firebird20SymmetricDialect(parameterService, platform);
        } else if (dbMajorVersion == 2) {
            dialect = new Firebird21SymmetricDialect(parameterService, platform);
        } else {
            dialect = new FirebirdSymmetricDialect(parameterService, platform);
        }
    } else if (platform instanceof AseDatabasePlatform) {
        dialect = new AseSymmetricDialect(parameterService, platform);
    } else if (platform instanceof SqlAnywhereDatabasePlatform) {
        dialect = new SqlAnywhereSymmetricDialect(parameterService, platform);
    } else if (platform instanceof InterbaseDatabasePlatform) {
        dialect = new InterbaseSymmetricDialect(parameterService, platform);
    } else if (platform instanceof SqliteDatabasePlatform) {
        dialect = new SqliteJdbcSymmetricDialect(parameterService, platform);
    } else if (platform instanceof VoltDbDatabasePlatform) {
        dialect = new VoltDbSymmetricDialect(parameterService, platform);
    } else {
        dialect = new GenericSymmetricDialect(parameterService, platform);
    }
    return dialect;
}
Also used : MySqlDatabasePlatform(org.jumpmind.db.platform.mysql.MySqlDatabasePlatform) MySqlSymmetricDialect(org.jumpmind.symmetric.db.mysql.MySqlSymmetricDialect) Db2DatabasePlatform(org.jumpmind.db.platform.db2.Db2DatabasePlatform) HsqlDb2DatabasePlatform(org.jumpmind.db.platform.hsqldb2.HsqlDb2DatabasePlatform) InformixSymmetricDialect(org.jumpmind.symmetric.db.informix.InformixSymmetricDialect) Firebird20SymmetricDialect(org.jumpmind.symmetric.db.firebird.Firebird20SymmetricDialect) InformixDatabasePlatform(org.jumpmind.db.platform.informix.InformixDatabasePlatform) Db2SymmetricDialect(org.jumpmind.symmetric.db.db2.Db2SymmetricDialect) HsqlDb2SymmetricDialect(org.jumpmind.symmetric.db.hsqldb2.HsqlDb2SymmetricDialect) AseDatabasePlatform(org.jumpmind.db.platform.ase.AseDatabasePlatform) SqliteJdbcSymmetricDialect(org.jumpmind.symmetric.db.sqlite.SqliteJdbcSymmetricDialect) AseSymmetricDialect(org.jumpmind.symmetric.db.ase.AseSymmetricDialect) InterbaseDatabasePlatform(org.jumpmind.db.platform.interbase.InterbaseDatabasePlatform) MsSqlSymmetricDialect(org.jumpmind.symmetric.db.mssql.MsSqlSymmetricDialect) InterbaseSymmetricDialect(org.jumpmind.symmetric.db.interbase.InterbaseSymmetricDialect) HsqlDbSymmetricDialect(org.jumpmind.symmetric.db.hsqldb.HsqlDbSymmetricDialect) OracleDatabasePlatform(org.jumpmind.db.platform.oracle.OracleDatabasePlatform) PostgreSqlSymmetricDialect(org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect) Db2zOsDatabasePlatform(org.jumpmind.db.platform.db2.Db2zOsDatabasePlatform) H2SymmetricDialect(org.jumpmind.symmetric.db.h2.H2SymmetricDialect) SqlAnywhereDatabasePlatform(org.jumpmind.db.platform.sqlanywhere.SqlAnywhereDatabasePlatform) RedshiftSymmetricDialect(org.jumpmind.symmetric.db.redshift.RedshiftSymmetricDialect) VoltDbSymmetricDialect(org.jumpmind.symmetric.db.voltdb.VoltDbSymmetricDialect) MsSql2008DatabasePlatform(org.jumpmind.db.platform.mssql.MsSql2008DatabasePlatform) FirebirdDatabasePlatform(org.jumpmind.db.platform.firebird.FirebirdDatabasePlatform) Firebird21SymmetricDialect(org.jumpmind.symmetric.db.firebird.Firebird21SymmetricDialect) MsSql2005DatabasePlatform(org.jumpmind.db.platform.mssql.MsSql2005DatabasePlatform) DerbySymmetricDialect(org.jumpmind.symmetric.db.derby.DerbySymmetricDialect) MariaDBSymmetricDialect(org.jumpmind.symmetric.db.mariadb.MariaDBSymmetricDialect) SqliteDatabasePlatform(org.jumpmind.db.platform.sqlite.SqliteDatabasePlatform) MsSql2000SymmetricDialect(org.jumpmind.symmetric.db.mssql2000.MsSql2000SymmetricDialect) Db2As400DatabasePlatform(org.jumpmind.db.platform.db2.Db2As400DatabasePlatform) Db2As400SymmetricDialect(org.jumpmind.symmetric.db.db2.Db2As400SymmetricDialect) RedshiftDatabasePlatform(org.jumpmind.db.platform.redshift.RedshiftDatabasePlatform) PostgreSqlDatabasePlatform(org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform) HsqlDb2SymmetricDialect(org.jumpmind.symmetric.db.hsqldb2.HsqlDb2SymmetricDialect) H2DatabasePlatform(org.jumpmind.db.platform.h2.H2DatabasePlatform) HsqlDbDatabasePlatform(org.jumpmind.db.platform.hsqldb.HsqlDbDatabasePlatform) HsqlDb2DatabasePlatform(org.jumpmind.db.platform.hsqldb2.HsqlDb2DatabasePlatform) GenericSymmetricDialect(org.jumpmind.symmetric.db.generic.GenericSymmetricDialect) Db2zOsSymmetricDialect(org.jumpmind.symmetric.db.db2.Db2zOsSymmetricDialect) FirebirdSymmetricDialect(org.jumpmind.symmetric.db.firebird.FirebirdSymmetricDialect) GreenplumPlatform(org.jumpmind.db.platform.greenplum.GreenplumPlatform) VoltDbDatabasePlatform(org.jumpmind.db.platform.voltdb.VoltDbDatabasePlatform) SqlAnywhereSymmetricDialect(org.jumpmind.symmetric.db.sqlanywhere.SqlAnywhereSymmetricDialect) MsSql2000DatabasePlatform(org.jumpmind.db.platform.mssql.MsSql2000DatabasePlatform) Db2v9SymmetricDialect(org.jumpmind.symmetric.db.db2.Db2v9SymmetricDialect) DerbyDatabasePlatform(org.jumpmind.db.platform.derby.DerbyDatabasePlatform) MariaDBDatabasePlatform(org.jumpmind.db.platform.mariadb.MariaDBDatabasePlatform) OracleSymmetricDialect(org.jumpmind.symmetric.db.oracle.OracleSymmetricDialect) GreenplumSymmetricDialect(org.jumpmind.symmetric.db.postgresql.GreenplumSymmetricDialect)

Example 3 with PostgreSqlDatabasePlatform

use of org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform in project symmetric-ds by JumpMind.

the class DatabaseWriterTest method testBinaryColumnTypesForPostgres.

@Test
public void testBinaryColumnTypesForPostgres() throws Exception {
    if (platform instanceof PostgreSqlDatabasePlatform) {
        platform.getSqlTemplate().update("drop table if exists test_postgres_binary_types");
        platform.getSqlTemplate().update("create table test_postgres_binary_types (binary_data oid)");
        String tableName = "test_postgres_binary_types";
        String[] keys = { "binary_data" };
        String[] columns = { "binary_data" };
        String[] values = { "dGVzdCAxIDIgMw==" };
        Table table = buildSourceTable(tableName, keys, columns);
        writeData(new TableCsvData(table, new CsvData(DataEventType.INSERT, values)));
        String result = (String) platform.getSqlTemplate().queryForObject("select encode(data,'escape') from pg_largeobject where loid in (select binary_data from test_postgres_binary_types)", String.class);
        // clean up the object from pg_largeobject, otherwise it becomes
        // abandoned on subsequent runs
        platform.getSqlTemplate().query("select lo_unlink(binary_data) from test_postgres_binary_types");
        Assert.assertEquals("test 1 2 3", result);
    }
}
Also used : Table(org.jumpmind.db.model.Table) PostgreSqlDatabasePlatform(org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform) CsvData(org.jumpmind.symmetric.io.data.CsvData) AbstractWriterTest(org.jumpmind.symmetric.io.AbstractWriterTest) Test(org.junit.Test)

Aggregations

PostgreSqlDatabasePlatform (org.jumpmind.db.platform.postgresql.PostgreSqlDatabasePlatform)3 ArrayList (java.util.ArrayList)1 Table (org.jumpmind.db.model.Table)1 AseDatabasePlatform (org.jumpmind.db.platform.ase.AseDatabasePlatform)1 Db2As400DatabasePlatform (org.jumpmind.db.platform.db2.Db2As400DatabasePlatform)1 Db2DatabasePlatform (org.jumpmind.db.platform.db2.Db2DatabasePlatform)1 Db2zOsDatabasePlatform (org.jumpmind.db.platform.db2.Db2zOsDatabasePlatform)1 DerbyDatabasePlatform (org.jumpmind.db.platform.derby.DerbyDatabasePlatform)1 FirebirdDatabasePlatform (org.jumpmind.db.platform.firebird.FirebirdDatabasePlatform)1 GreenplumPlatform (org.jumpmind.db.platform.greenplum.GreenplumPlatform)1 H2DatabasePlatform (org.jumpmind.db.platform.h2.H2DatabasePlatform)1 HsqlDbDatabasePlatform (org.jumpmind.db.platform.hsqldb.HsqlDbDatabasePlatform)1 HsqlDb2DatabasePlatform (org.jumpmind.db.platform.hsqldb2.HsqlDb2DatabasePlatform)1 InformixDatabasePlatform (org.jumpmind.db.platform.informix.InformixDatabasePlatform)1 InterbaseDatabasePlatform (org.jumpmind.db.platform.interbase.InterbaseDatabasePlatform)1 MariaDBDatabasePlatform (org.jumpmind.db.platform.mariadb.MariaDBDatabasePlatform)1 MsSql2000DatabasePlatform (org.jumpmind.db.platform.mssql.MsSql2000DatabasePlatform)1 MsSql2005DatabasePlatform (org.jumpmind.db.platform.mssql.MsSql2005DatabasePlatform)1 MsSql2008DatabasePlatform (org.jumpmind.db.platform.mssql.MsSql2008DatabasePlatform)1 MySqlDatabasePlatform (org.jumpmind.db.platform.mysql.MySqlDatabasePlatform)1