Project:
View Revisions: Issue #54768 | [ Back to Issue ] | ||
Summary | 0054768: compilation error: [java] org.postgresql.util.PSQLException: Bad value for type int : 2173831272 | ||
Revision | 2024-02-27 09:47 by shuehner | ||
Steps To Reproduce | Preparation - create enough database objects (roughly 2,147,483,647) - It should be enough to create+drop objects just to drive up oid usage - There is be NO need to keep all all those objects at once - oid are global per database so type of objects created should not matter - drop function next_day (to force its recreation) - run update.database to recreate that function - check that "SELECT proname, oid, proconfig FROM pg_proc where proname = 'next_day' returns number high enough Reproducer: - Run update.database - Step reading model will read functions and trip over the high value Note: - next_day function is just example function to trigger this issue - Should work for any function being read during 'Reading functions...' step I.e. everything not in excludeFilter.xml |
||
Revision | 2024-02-27 09:47 by shuehner | ||
Description | Executing update.database command, error is happening when the postgresql OID assigned to functions is higher than max int value (2,147,483,647). To check what is the OID assigned for each function: SELECT proname, oid, proconfig FROM pg_proc order by oid desc; The OID is read in update.database command using getInt function. For this reason, when this value is higher than max INT value, the below error is raised: [java] org.postgresql.util.PSQLException: Bad value for type int : 2173831272 [java] at org.postgresql.jdbc.PgResultSet.toInt(PgResultSet.java:2834) ~[postgresql-42.2.2.jre7.jar:42.2.2.jre7] [java] at org.postgresql.jdbc.PgResultSet.getInt(PgResultSet.java:2067) ~[postgresql-42.2.2.jre7.jar:42.2.2.jre7] [java] at org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225) ~[commons-dbcp-1.4.jar:1.4] [java] at org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225) ~[commons-dbcp-1.4.jar:1.4] [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader$1.fillRow(PostgreSqlModelLoader.java:432) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.ModelLoaderBase.fillList(ModelLoaderBase.java:871) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.readFunction(PostgreSqlModelLoader.java:429) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.ModelLoaderBase$28.getRow(ModelLoaderBase.java:661) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.ModelLoaderBase.readList(ModelLoaderBase.java:816) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.ModelLoaderBase.readFunctions(ModelLoaderBase.java:657) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.ModelLoaderBase.readDatabase(ModelLoaderBase.java:216) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.readDatabase(PostgreSqlModelLoader.java:90) ~[dbsourcemanager.jar:?] |
||
Revision | 2024-02-27 08:33 by shuehner | ||
Steps To Reproduce | .create more than 2,147,483,647 database functions (create and delete...) . compile |
||
Revision | 2024-02-27 08:33 by shuehner | ||
Description | Executing update.database command, error is happening when the postgresql OID assigned to functions is higher than max int value (2,147,483,647). To check what is the OID assigned for each function: SELECT proname, oid, proconfig FROM pg_proc order by oid desc; The OID is read in update.database command using getInt function. For this reason, when this value is higher than max INT value, the below error is raised: [java] org.postgresql.util.PSQLException: Bad value for type int : 2173831272 [java] at org.postgresql.jdbc.PgResultSet.toInt(PgResultSet.java:2834) ~[postgresql-42.2.2.jre7.jar:42.2.2.jre7] [java] at org.postgresql.jdbc.PgResultSet.getInt(PgResultSet.java:2067) ~[postgresql-42.2.2.jre7.jar:42.2.2.jre7] [java] at org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225) ~[commons-dbcp-1.4.jar:1.4] [java] at org.apache.commons.dbcp.DelegatingResultSet.getInt(DelegatingResultSet.java:225) ~[commons-dbcp-1.4.jar:1.4] [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader$1.fillRow(PostgreSqlModelLoader.java:432) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.ModelLoaderBase.fillList(ModelLoaderBase.java:871) ~[dbsourcemanager.jar:?] [java] at org.apache.ddlutils.platform.postgresql.PostgreSqlModelLoader.readFunction(PostgreSqlModelLoader.java:429) ~[dbsourcemanager.jar:?] |
Copyright © 2000 - 2009 MantisBT Group |