View Issue Details

IDProjectCategoryView StatusLast Update
0001240SymmetricDSBugpublic2014-06-16 20:27
Reporterrobert.wysockiAssigned Toelong 
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version3.4.4 
Target Version3.6.0Fixed in Version3.6.0 
Summary0001240: No way to send schema changes in schema other, than public
DescriptionThere's no way to send schema changes made to tables in schemas other, than 'public'.

symadmin's send-schema function accepts -s switch, but it has no effect - regardless of passed schema name alterations on nodes are being tried in 'public' schema
Steps To Reproducemake a schema change in table subscribed to replication, update-triggers and try to send schema changes:
../bin/symadmin -e konsola -p konsola.properties -g nodegroupname send-schema -s schema_name table_name

000 node log:
Log output will be written to /var/log/symmetricds/konsola.log
[] - AbstractCommandLauncher - Option: name=engine, value={konsola}
[] - AbstractCommandLauncher - Option: name=properties, value={konsola.properties}
[] - AbstractCommandLauncher - Option: name=node-group, value={nodegroupname}
[] - AbstractCommandLauncher - Option: name=schema, value={schema_name}
[konsola] - PostgreSqlSymmetricDialect - The DbDialect being used is org.jumpmind.symmetric.db.postgresql.PostgreSqlSymmetricDialect
[konsola] - ExtensionPointManager - Found 2 extension points that will be registered

001 node log (in nodegroupname nodegroup):
2013-05-23 13:11:41,993 ERROR [] [DatabaseWriter] [pull-4] Failed to alter table using the following xml: <?xml version="1.0"?>
<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="public">
    <table name="table_name">
        <column name="id" primaryKey="true" required="true" type="BIGINT" size="19"/>
        <column name="class" required="true" type="CHAR" size="1"/>
        <column name="city" type="VARCHAR" size="255"/>
        <column name="addline1" type="VARCHAR" size="255"/>
        <column name="addline2" type="VARCHAR" size="255"/>
        <column name="street" type="VARCHAR" size="255"/>
        <column name="zipcode" type="VARCHAR" size="255"/>
        <column name="housenumber" type="VARCHAR" size="255"/>
        <column name="flatnumber" type="VARCHAR" size="255"/>
        <column name="phone" type="VARCHAR" size="255"/>
        <column name="dialcode" type="VARCHAR" size="255"/>
        <column name="cellphone" type="VARCHAR" size="255"/>
        <column name="postalcity" type="VARCHAR" size="255"/>
        <column name="last_update_date" type="TIMESTAMP" size="29,6"/>
    </table>
</database>
2013-05-23 13:11:41,994 ERROR [] [DataLoaderService] [pull-4] Failed to load batch 000-1283 because: ERROR: relation "table_name" does not exist
TagsNo tags attached.

Activities

ryan.king

2013-06-06 12:53

reporter   ~0000268

Last edited: 2013-06-06 12:54

View 2 revisions

Further, I believe the database name is pulled from the user's search_path so if you're storing your symmetricds tables in its own schema, your schema sends will fail.

<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
<database name="symmetricds">
        <table name="example">
                <column name="id" primaryKey="true" required="true" type="INTEGER" size="10"/>
                <column name="name" type="VARCHAR" size="20"/>
        </table>
</database>

2013-06-06 11:57:41,325 WARN [sql.JdbcSqlTemplate] [serever-name-pull-5] ERROR: relation "example" does not exist. Failed to execute: ALTER TABLE "example"
ADD COLUMN "name" VARCHAR(20).

elong

2014-04-17 21:00

developer   ~0000509

Working for simple dbexport/dbimport and initial load scenarios. Known TODOs: 1) Quote catalog/schema identifiers in the SQL, which requires getting the case set to the default of database, 2) Override catalog/schema from command line in dbimport, 3) Override catalog/schema from router.

Related Changesets

SymmetricDS: master 90015c50

2014-04-17 20:54:47

erilong

Details Diff
0001240: No way to send schema changes in schema other, than public
0001240
mod - symmetric-core/src/main/java/org/jumpmind/symmetric/db/AbstractSymmetricDialect.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/io/DatabaseXmlUtil.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/model/Database.java Diff File
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/DbExport.java Diff File
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/reader/XmlDataReader.java Diff File
mod - symmetric-jdbc/src/main/java/org/jumpmind/db/platform/AbstractJdbcDdlReader.java Diff File

SymmetricDS: master a8599467

2014-04-21 17:17:27

erilong

Details Diff
0001240: No way to send schema changes in schema other, than public
0001240
mod - symmetric-io/src/main/java/org/jumpmind/symmetric/io/data/DbExport.java Diff File

SymmetricDS: master 707cd18b

2014-04-21 20:16:43

erilong

Details Diff
0001240: No way to send schema changes in schema other, than public
0001240
mod - symmetric-db/src/main/java/org/jumpmind/db/platform/AbstractDdlBuilder.java Diff File

Issue History

Date Modified Username Field Change
2013-05-23 07:25 robert.wysocki New Issue
2013-06-06 12:53 ryan.king Note Added: 0000268
2013-06-06 12:54 ryan.king Note Edited: 0000268 View Revisions
2013-06-08 11:04 chenson Target Version => 3.6.0
2013-06-08 12:45 chenson Summary No way to send schema changes in schama other, than public => No way to send schema changes in schema other, than public
2014-03-03 09:50 chenson Assigned To => elong
2014-03-03 09:50 chenson Status new => assigned
2014-04-17 21:00 Changeset attached => SymmetricDS trunk r8176
2014-04-17 21:00 elong Note Added: 0000509
2014-04-21 12:22 elong Status assigned => resolved
2014-04-21 12:22 elong Fixed in Version => 3.6.0
2014-04-21 12:22 elong Resolution open => fixed
2014-04-21 18:00 Changeset attached => SymmetricDS trunk r8186
2014-04-21 21:00 Changeset attached => SymmetricDS trunk r8187
2014-06-16 20:27 chenson Status resolved => closed
2015-07-30 21:49 Changeset attached => SymmetricDS master 707cd18b
2015-07-30 21:49 Changeset attached => SymmetricDS master a8599467
2015-07-30 21:49 Changeset attached => SymmetricDS master 90015c50