Thread: bpchat cannot exceed 10485760
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.
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