Обсуждение: Invalid Column Length
Hello,
I am using Liquibase with postgres JDBC driver postgresql-8.4-702.jdbc4.jar
PostgreSQL - 8.4.4
My table structure, for example, is
CREATE TABLE applications
(
id character varying NOT NULL,
"name" character varying NOT NULL,
"version" character varying NOT NULL,
)
When i try export my database structure to the Liquibase script it makes column with length 2147483647.
<column name="id" type="VARCHAR(10485760)">
<constraints nullable="false" primaryKey="true" primaryKeyName="applications_pkey"/>
</column>
Maximum length of type character varying is 10485760.
Generated script is broken.
I looked at Liquibase code and found that ResultSet.getInt("COLUMN_SIZE") returns 2147483647 when length not set implicitly.
Is this a bug?
Is there any workaround exist?
Thank You!
I am using Liquibase with postgres JDBC driver postgresql-8.4-702.jdbc4.jar
PostgreSQL - 8.4.4
My table structure, for example, is
CREATE TABLE applications
(
id character varying NOT NULL,
"name" character varying NOT NULL,
"version" character varying NOT NULL,
)
When i try export my database structure to the Liquibase script it makes column with length 2147483647.
<column name="id" type="VARCHAR(10485760)">
<constraints nullable="false" primaryKey="true" primaryKeyName="applications_pkey"/>
</column>
Maximum length of type character varying is 10485760.
Generated script is broken.
I looked at Liquibase code and found that ResultSet.getInt("COLUMN_SIZE") returns 2147483647 when length not set implicitly.
Is this a bug?
Is there any workaround exist?
Thank You!
Perepelkin Andrew <perepelkin.work@gmail.com> wrote: > Is there any workaround exist? Use a maximum length on your varchar declarations?: CREATE TABLE applications ( id character varying(10000000) NOT NULL, "name" character varying(10000000) NOT NULL, "version" character varying(10000000) NOT NULL, ) Of course, if you don't intend to support ten million characters for any of those, you could use a smaller number.... -Kevin
On Tue, 2 Nov 2010, Perepelkin Andrew wrote: > Hello, > > I am using Liquibase with postgres JDBC driver postgresql-8.4-702.jdbc4.jar > PostgreSQL - 8.4.4 > My table structure, for example, is > CREATE TABLE applications > ( > id character varying NOT NULL, > "name" character varying NOT NULL, > "version" character varying NOT NULL, > ) > > When i try export my database structure to the Liquibase script it makes > column with length 2147483647. > <column name="id" type="VARCHAR(10485760)"> > <constraints nullable="false" primaryKey="true" > primaryKeyName="applications_pkey"/> > </column> > Maximum length of type character varying is 10485760. > Generated script is broken. > > I looked at Liquibase code and found that ResultSet.getInt("COLUMN_SIZE") > returns 2147483647 when length not set implicitly. > > Is this a bug? > Is there any workaround exist? > You can set the unknownLength URL parameter to say whay you think the size of an unspecified string should be: http://jdbc.postgresql.org/documentation/84/connect.html#connection-parameters Kris Jurka
2010/11/2 Kris Jurka <books@ejurka.com>
You can set the unknownLength URL parameter to say whay you think the size of an unspecified string should be:
On Tue, 2 Nov 2010, Perepelkin Andrew wrote:Hello,
I am using Liquibase with postgres JDBC driver postgresql-8.4-702.jdbc4.jar
PostgreSQL - 8.4.4
My table structure, for example, is
CREATE TABLE applications
(
id character varying NOT NULL,
"name" character varying NOT NULL,
"version" character varying NOT NULL,
)
When i try export my database structure to the Liquibase script it makes
column with length 2147483647.
<column name="id" type="VARCHAR(10485760)">
<constraints nullable="false" primaryKey="true"
primaryKeyName="applications_pkey"/>
</column>
Maximum length of type character varying is 10485760.
Generated script is broken.
I looked at Liquibase code and found that ResultSet.getInt("COLUMN_SIZE")
returns 2147483647 when length not set implicitly.
Is this a bug?
Is there any workaround exist?
http://jdbc.postgresql.org/documentation/84/connect.html#connection-parameters
Thank You, Kris
Your solution suits me.