[ https://issues.apache.org/jira/browse/DDLUTILS-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12681844#action_12681844 ]
Tomislav Nakic-Alfirevic commented on DDLUTILS-151: --------------------------------------------------- I can confirm the issue: it's exactly the way Laurent described it. In my case, I have several postgresql (8.3) databases available and the ones where I only have tables in the "default" schema I can export from nicely (well, aside from issue 212 which would be fixed for me by commenting out one line of code, Database.java:451), but the ones where I have tables in multiple schemas break the export. Here are a couple of details... $ ant -v export-source-db Apache Ant version 1.7.0 compiled on August 29 2007 Buildfile: build.xml Detected Java version: 1.6 in: /usr/lib/jvm/java-6-sun-1.6.0.07/jre Detected OS: Linux parsing buildfile /home/tna/projekti/PanBI/acta/ddlutils/build.xml with URI = file:/home/tna/projekti/PanBI/acta/ddlutils/build.xml Project base dir set to: /home/tna/projekti/PanBI/acta/ddlutils [antlib:org.apache.tools.ant] Could not load definitions from resource org/apache/tools/ant/antlib.xml. It could not be found. Build sequence for target(s) `export-source-db' is [export-source-db] Complete build sequence is [export-source-db, ] export-source-db: [databaseToDdl] Written schema to /home/tna/projekti/PanBI/acta/ddlutils/db-schema.xml BUILD FAILED /home/tna/projekti/PanBI/acta/ddlutils/build.xml:12: Error while performing a query at org.apache.ddlutils.task.Command.handleException(Command.java:81) at org.apache.ddlutils.task.WriteDataToFileCommand.execute(WriteDataToFileCommand.java:101) at org.apache.ddlutils.task.DatabaseTaskBase.executeCommands(DatabaseTaskBase.java:341) at org.apache.ddlutils.task.DatabaseTaskBase.execute(DatabaseTaskBase.java:381) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) at org.apache.tools.ant.Project.executeTarget(Project.java:1298) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1181) at org.apache.tools.ant.Main.runBuild(Main.java:698) at org.apache.tools.ant.Main.startAnt(Main.java:199) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) Caused by: org.apache.ddlutils.DatabaseOperationException: Error while performing a query at org.apache.ddlutils.platform.PlatformImplBase.query(PlatformImplBase.java:1565) at org.apache.ddlutils.io.DatabaseDataIO.writeDataForTableToXML(DatabaseDataIO.java:538) at org.apache.ddlutils.io.DatabaseDataIO.writeDataToXML(DatabaseDataIO.java:381) at org.apache.ddlutils.io.DatabaseDataIO.writeDataToXML(DatabaseDataIO.java:320) at org.apache.ddlutils.task.WriteDataToFileCommand.execute(WriteDataToFileCommand.java:95) ... 19 more Caused by: org.postgresql.util.PSQLException: ERROR: relation "cinj_spis_1_stupanj_snimka" does not exist at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205) at org.apache.ddlutils.platform.PlatformImplBase.query(PlatformImplBase.java:1559) ... 23 more --- Nested Exception --- org.apache.ddlutils.DatabaseOperationException: Error while performing a query at org.apache.ddlutils.platform.PlatformImplBase.query(PlatformImplBase.java:1565) at org.apache.ddlutils.io.DatabaseDataIO.writeDataForTableToXML(DatabaseDataIO.java:538) at org.apache.ddlutils.io.DatabaseDataIO.writeDataToXML(DatabaseDataIO.java:381) at org.apache.ddlutils.io.DatabaseDataIO.writeDataToXML(DatabaseDataIO.java:320) at org.apache.ddlutils.task.WriteDataToFileCommand.execute(WriteDataToFileCommand.java:95) at org.apache.ddlutils.task.DatabaseTaskBase.executeCommands(DatabaseTaskBase.java:341) at org.apache.ddlutils.task.DatabaseTaskBase.execute(DatabaseTaskBase.java:381) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:357) at org.apache.tools.ant.Target.performTasks(Target.java:385) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329) at org.apache.tools.ant.Project.executeTarget(Project.java:1298) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1181) at org.apache.tools.ant.Main.runBuild(Main.java:698) at org.apache.tools.ant.Main.startAnt(Main.java:199) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104) Caused by: org.postgresql.util.PSQLException: ERROR: relation "cinj_spis_1_stupanj_snimka" does not exist at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1548) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1316) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:191) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:337) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:236) at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205) at org.apache.ddlutils.platform.PlatformImplBase.query(PlatformImplBase.java:1559) ... 23 more Total time: 10 seconds $ My build.xml is as follows: <?xml version="1.0"?> <project name="MigrateToDerby" basedir="."> <path id="classpath"> <fileset dir="./lib"> <include name="**/*.jar"/> </fileset> </path> <target name="export-source-db" description="Dumps db structure and data"> <taskdef name="databaseToDdl" classname="org.apache.ddlutils.task.DatabaseToDdlTask"> <classpath refid="classpath"/> </taskdef> <databaseToDdl modelName="MigrateTest"> <database url="jdbc:postgresql://localhost/acta" driverClassName="org.postgresql.Driver" username="snip!" password="snip!"/> <writeSchemaToFile outputFile="db-schema.xml"/> <writeDataToFile outputFile="data.xml"/> </databaseToDdl> </target> </project> Now, I've tried modifying ddlutils code to output things which would help me understand what's going on, but I don't know how I have to set up logging so that I get any kind of output from statements like _log.debug(sql) and the like. Can you give me a hint? Is there any documentation for ddlutils developers (tools to use, environment setup etc.)? Anyway, to conclude, I think the reason it's breaking is the following: 1.) JdbcModelReader.determineSchemaOf(Connection, String, Table) fails to determine the table schema 2.) PostgreSqlModelReader.java doesn't override deterimenSchemaOf and so that's it It should be easy enough to verify: check the value of the local variable "schema" after the DatabaseDataIO:482 statement (I obtained ddlutils by compiling it from a fresh svn trunk checkout a couple hours ago). > Can not export data if multiple schemas from PostgreSQL > ------------------------------------------------------- > > Key: DDLUTILS-151 > URL: https://issues.apache.org/jira/browse/DDLUTILS-151 > Project: DdlUtils > Issue Type: Bug > Affects Versions: 1.0 > Environment: PostgreSQL 8.1.4 on i486-pc-linux-gnu, compiled by GCC > gcc-4.0.gcc-opt (GCC) 4.0.3 (Ubuntu 4.0.3-1ubuntu5) > Ant tasks > Reporter: Laurent ROCHE > Assignee: Thomas Dudziak > Fix For: 1.2 > > > When running an Ant Task, databaseToDdl with writeDataToFile on a PosgreSQL > database with more than the public database, DDL-Utils fails ! > The error message is: > org.apache.ddlutils.DatabaseOperationException: Error while performing a > query > and adding the option verbosity="DEBUG" does not add more information. > Cheers, > l...@u -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.