Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0028849Openbravo ERPY. DBSourceManagerpublic2015-02-03 15:462015-08-20 23:16
alostale 
alostale 
urgentmajorhave not tried
closedfixed 
5
 
3.0PR15Q4 
AugustoMauch
Core
No
0028849: export.database fails with new postgresql jdbc versions
export.database fails using recent postgresql jdbc versions.

The problem is caused because of the new binary transfer implementation [1]. Which makes the current way of getting text arrays in prepared statements to stop working.

More details about this problem can be found here [2].

[1] https://wiki.postgresql.org/wiki/JDBC-BinaryTransfer [^]
[2] http://stackoverflow.com/questions/28298986/text-array-in-prepared-statements-returns-null-when-using-binary-transfer [^]
-change postresql jdbc to a new one (tested with current postgresql-9.3-1102.jdbc4.jar)
-ant export.database

export.database.structure:
Setting Openbravo.properties through file: /srv/ci/workspace/try-full-pgsql/config/Openbravo.properties
Initializing in-memory model...
Building runtime model
Model read in-memory, generating mapping...
Dal layer initialized
Database connection: jdbc:postgresql://10.0.3.10:5432/try_full_pgsql. [^] User: try_full_pgsql
Reading tables...
Reading views...
Reading sequences...
Reading triggers...
Reading functions...

BUILD FAILED
/srv/ci/workspace/try-full-pgsql/build.xml:767: The following error occurred while executing this line:
/srv/ci/workspace/try-full-pgsql/src-db/database/build.xml:155: java.lang.NullPointerException
    at org.apache.ddlutils.model.Parameter.getName(Parameter.java:53)
    at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader$3.fillRow(PostgreSqlModelLoader.java:602)
    at org.apache.ddlutils.platform.ModelLoaderBase.fillList(ModelLoaderBase.java:872)
    at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.readFunction(PostgreSqlModelLoader.java:551)
    at org.apache.ddlutils.platform.ModelLoaderBase$28.getRow(ModelLoaderBase.java:627)
    at org.apache.ddlutils.platform.ModelLoaderBase.readList(ModelLoaderBase.java:821)
    at org.apache.ddlutils.platform.ModelLoaderBase.readFunctions(ModelLoaderBase.java:624)
    at org.apache.ddlutils.platform.ModelLoaderBase.readDatabase(ModelLoaderBase.java:210)
    at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.readDatabase(PostgreSqlModelLoader.java:79)
    at org.apache.ddlutils.platform.ModelLoaderBase.getDatabase(ModelLoaderBase.java:124)
    at org.apache.ddlutils.platform.PlatformImplBase.loadModelFromDatabase(PlatformImplBase.java:2475)
    at org.openbravo.ddlutils.task.ExportDatabase.execute(ExportDatabase.java:111)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
    at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    at org.apache.tools.ant.Task.perform(Task.java:348)
    at org.apache.tools.ant.Target.execute(Target.java:390)
    at org.apache.tools.ant.Target.performTasks(Target.java:411)
    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
    at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
    at org.apache.tools.ant.Main.runBuild(Main.java:809)
    at org.apache.tools.ant.Main.startAnt(Main.java:217)
    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Change the way text arrays are retrieved not to use the unimplemented toString method.
No tags attached.
Issue History
2015-02-03 15:46alostaleNew Issue
2015-02-03 15:46alostaleAssigned To => alostale
2015-02-03 15:46alostaleModules => Core
2015-02-03 15:46alostaleTriggers an Emergency Pack => No
2015-02-03 15:47alostaleSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=7590#r7590
2015-02-03 15:47alostaleProposed Solution updated
2015-03-11 09:56alostalePrioritynormal => high
2015-03-11 09:56alostaleStatusnew => acknowledged
2015-03-11 09:57alostalePriorityhigh => urgent
2015-03-17 14:37alostaleAssigned Toalostale => platform
2015-07-28 10:41alostaleStatusacknowledged => scheduled
2015-07-28 10:41alostaleAssigned Toplatform => alostale
2015-07-28 10:41alostaleReview Assigned To => AugustoMauch
2015-07-28 13:48hgbotCheckin
2015-07-28 13:48hgbotNote Added: 0079098
2015-07-28 13:48hgbotStatusscheduled => resolved
2015-07-28 13:48hgbotResolutionopen => fixed
2015-07-28 13:48hgbotFixed in SCM revision => http://code.openbravo.com/erp/devel/dbsm-main/rev/86e6b8a2c9dde161ce616d0c49491628b30431cc [^]
2015-07-28 13:49hgbotCheckin
2015-07-28 13:49hgbotNote Added: 0079099
2015-07-28 13:49hgbotCheckin
2015-07-28 13:49hgbotNote Added: 0079100
2015-07-28 13:49hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/dbsm-main/rev/86e6b8a2c9dde161ce616d0c49491628b30431cc [^] => http://code.openbravo.com/erp/devel/pi/rev/848b27695b57b8856b6a4a0195cd886bf48be743 [^]
2015-07-28 13:49hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/dbsm-main/rev/86e6b8a2c9dde161ce616d0c49491628b30431cc [^] => http://code.openbravo.com/erp/devel/pi/rev/848b27695b57b8856b6a4a0195cd886bf48be743 [^]
2015-08-06 09:53hgbotCheckin
2015-08-06 09:53hgbotNote Added: 0079211
2015-08-06 09:53hgbotFixed in SCM revisionhttp://code.openbravo.com/erp/devel/pi/rev/848b27695b57b8856b6a4a0195cd886bf48be743 [^] => http://code.openbravo.com/erp/devel/pi/rev/f332533eef8154dcf80dcdb47f1449698e42b909 [^]
2015-08-17 21:39AugustoMauchNote Added: 0079399
2015-08-17 21:39AugustoMauchStatusresolved => closed
2015-08-17 21:39AugustoMauchFixed in Version => 3.0PR15Q4
2015-08-20 23:16hudsonbotCheckin
2015-08-20 23:16hudsonbotNote Added: 0079509
2015-08-20 23:16hudsonbotCheckin
2015-08-20 23:16hudsonbotNote Added: 0079526

Notes
(0079098)
hgbot   
2015-07-28 13:48   
Repository: erp/devel/dbsm-main
Changeset: 86e6b8a2c9dde161ce616d0c49491628b30431cc
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Wed Feb 04 15:13:45 2015 +0100
URL: http://code.openbravo.com/erp/devel/dbsm-main/rev/86e6b8a2c9dde161ce616d0c49491628b30431cc [^]

fixed bug 28849: export.database fails with new postgresql jdbc versions

  NPE was trhown when trying to do a preparedStatemet.getString(pos) because
  toString is not implemented for binary types.

---
M src/org/apache/ddlutils/platform/postgresql/PostgreSqlModelLoader.java
---
(0079099)
hgbot   
2015-07-28 13:49   
Repository: erp/devel/pi
Changeset: 848b27695b57b8856b6a4a0195cd886bf48be743
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Tue Jul 28 10:35:11 2015 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/848b27695b57b8856b6a4a0195cd886bf48be743 [^]

fixed bug 28849: export.database fails with new postgresql jdbc versions

  NPE was trhown when trying to do a preparedStatemet.getString(pos) because
  toString is not implemented for binary types in newer jdbc versions.

---
M src-db/database/lib/dbsourcemanager.jar
---
(0079100)
hgbot   
2015-07-28 13:49   
Repository: erp/devel/pi
Changeset: 848b27695b57b8856b6a4a0195cd886bf48be743
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Tue Jul 28 10:35:11 2015 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/848b27695b57b8856b6a4a0195cd886bf48be743 [^]

fixed bug 28849: export.database fails with new postgresql jdbc versions

  NPE was trhown when trying to do a preparedStatemet.getString(pos) because
  toString is not implemented for binary types in newer jdbc versions.

---
M src-db/database/lib/dbsourcemanager.jar
---
(0079211)
hgbot   
2015-08-06 09:53   
Repository: erp/devel/pi
Changeset: f332533eef8154dcf80dcdb47f1449698e42b909
Author: Asier Lostalé <asier.lostale <at> openbravo.com>
Date: Mon May 04 15:38:36 2015 +0200
URL: http://code.openbravo.com/erp/devel/pi/rev/f332533eef8154dcf80dcdb47f1449698e42b909 [^]

fixed bug 28849: export.database fails with new postgresql jdbc versions

  NPE was trhown when trying to do a preparedStatemet.getString(pos) because
  toString is not implemented for binary types.

---
M src-db/database/lib/dbsourcemanager.jar
---
(0079399)
AugustoMauch   
2015-08-17 21:39   
Code reviewed and verified in pi@848b27695b57
(0079509)
hudsonbot   
2015-08-20 23:16   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/8c91718397a5 [^]
Maturity status: Test
(0079526)
hudsonbot   
2015-08-20 23:16   
A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/8c91718397a5 [^]
Maturity status: Test