bpchat cannot exceed 10485760

Lists: pgsql-jdbc
From: Kris Jurka <books(at)ejurka(dot)com>
To: Amish Munshi <amish_munshi(at)fastmail(dot)fm>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: bpchat cannot exceed 10485760
Date: 2004-07-08 07:06:30
Message-ID: Pine.BSO.4.56.0407080158470.28674@leary.csoft.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

On Thu, 8 Jul 2004, Amish Munshi wrote:

> Greetings,
>
> I am migrating a database from HSQLDB to Postgresql. I am using the
> HSQL Database manager to transfer my data from HSQL to postgres and
> found a hurdle.
> The exact error message is as follows.
>
> org.hsqldb.util.DataAccessPointException: ERROR: length for type bpchar
> cannot exceed 10485760
>

It is trying to create a table with a column type of char(N) with a very
large value of N, such as "CREATE TABLE tab (a char(100000000000));".
There doesn't seem to be a point in exactly specifying a size of greater
than 10M. The question is does your source database have a column defined
in this way? If not then perhaps the HSQL JDBC driver has a bug where it
doesn't return the correct length restriction for a char column. If you
do have a column defined this way you may be in trouble. Since char(N)
pads the data with spaces you cannot simply substitute and unbounded
character type (like "text").

Kris Jurka


From: "Amish Munshi" <amish_munshi(at)fastmail(dot)fm>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: bpchat cannot exceed 10485760
Date: 2004-07-08 07:16:54
Message-ID: 1089269214.5443.199950926@webmail.messagingengine.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-jdbc

Greetings,

I am migrating a database from HSQLDB to Postgresql. I am using the
HSQL Database manager to transfer my data from HSQL to postgres and
found a hurdle. I hope this is not a bug. I have approx 50MB of SQL
database in HSQL. After doing a "transfer" of some tables it stops
transfer for the rest crying "bpchar cannot be greater than a
*certain* size". *certain* - > approx 10 million or greater. I tried
transferring one of the problematic table (using dbmanager) and it
fails as well with same error.

The exact error message is as follows.

org.hsqldb.util.DataAccessPointException: ERROR: length for type bpchar
cannot exceed 10485760

at org.hsqldb.util.TransferDb.execute(Unknown Source)
at org.hsqldb.util.TransferTable.transferStructure(Unknown
Source)
at org.hsqldb.util.Transfer.transfer(Unknown Source)
at org.hsqldb.util.Transfer.actionPerformed(Unknown Source)
at java.awt.Button.processActionEvent(Button.java:382)
at java.awt.Button.processEvent(Button.java:350)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at
java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at
java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

I assumed it was an HSQL bug, but I hacked a little more and find
that there is probably a postgresql involved in this problem.

Any clues or pointers on how should I transfer the data? Or some
pointers on where the problem actually is would be of great help.

Regards.
Amish K. Munshi.
Always Available, Everywhere.