[
https://issues.apache.org/jira/browse/DDLUTILS-178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509640
]
Adrián Romero commented on DDLUTILS-178:
-----------------------------------------
Yes. This is the sample source code:
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("org.postgresql.Driver");
ds.setUrl("jdbc:postgresql://localhost:5432/openbravo230");
ds.setUsername("tad");
ds.setPassword("tad");
try {
Platform platform = PlatformFactory.createNewPlatformInstance(ds);
platform.setDelimitedIdentifierModeOn(true);
Database db = platform.readModelFromDatabase("openbravo230");
Writer sw = new OutputStreamWriter(new FileOutputStream(new
File("/home/adrian/openbravo230.xml")));
new DatabaseIO().write(db, sw);
sw.close();
} catch (Exception e) {
e.printStackTrace();
}
> ModelException thrown when reading columns with "special" names
> ---------------------------------------------------------------
>
> Key: DDLUTILS-178
> URL: https://issues.apache.org/jira/browse/DDLUTILS-178
> Project: DdlUtils
> Issue Type: Bug
> Components: Core - PostgreSql
> Affects Versions: 1.0 RC2
> Environment: PostgreSQL 8.2 on Ubuntu 7.04. Java 6.
> Reporter: Adrián Romero
> Assignee: Thomas Dudziak
>
> Trying to execute the method "readModelFromDatabase" a ModelException is
> thrown. The database has only one table with a field named "year". If this
> field is renamed by another name it works ok. The field "year" appears in the
> pgAdmin tool with quotes. This must be the reason why DDLutils throws the
> ModelException.
> This is the exception thrown:
> org.apache.ddlutils.model.ModelException: The index ad_sequence_no_key in
> table ad_sequence_no references the undefined column "year"
> at org.apache.ddlutils.model.Database.initialize(Database.java:393)
> at
> org.apache.ddlutils.platform.JdbcModelReader.getDatabase(JdbcModelReader.java:484)
> at
> org.apache.ddlutils.platform.JdbcModelReader.getDatabase(JdbcModelReader.java:432)
> at
> org.apache.ddlutils.platform.PlatformImplBase.readModelFromDatabase(PlatformImplBase.java:1884)
> at
> org.apache.ddlutils.platform.PlatformImplBase.readModelFromDatabase(PlatformImplBase.java:1869)
> at org.openbravo.ddl.Test.main(Test.java:52)
> The database was previously populated with the following XML::
> <?xml version="1.0"?>
> <!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database">
> <database name="openbravo-tests">
> <table name="ad_sequence_no">
> <column name="ad_sequence_id" primaryKey="false" required="true"
> type="NUMERIC" size="10" autoIncrement="false"/>
> <column name="year" primaryKey="false" required="true" type="VARCHAR"
> size="4" default="0000" autoIncrement="false"/>
> <column name="ad_client_id" primaryKey="false" required="true"
> type="NUMERIC" size="10" autoIncrement="false"/>
> <unique name="ad_sequence_no_key">
> <unique-column name="ad_sequence_id"/>
> <unique-column name="year"/>
> </unique>
> </table>
> </database>
> And in the pgAdmin tool, the table definition is:
> -- Table: ad_sequence_no
> -- DROP TABLE ad_sequence_no;
> CREATE TABLE ad_sequence_no
> (
> ad_sequence_id numeric(10) NOT NULL,
> "year" varchar(4) NOT NULL DEFAULT '0000'::character varying,
> ad_client_id numeric(10) NOT NULL
> )
> WITHOUT OIDS;
> ALTER TABLE ad_sequence_no OWNER TO tad;
> -- Index: ad_sequence_no_key
> -- DROP INDEX ad_sequence_no_key;
> CREATE UNIQUE INDEX ad_sequence_no_key
> ON ad_sequence_no
> USING btree
> (ad_sequence_id, "year");
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.