Barnet Wagman wrote:
> Does anyone know what the following SQL exception (code 30000) might
> mean?
>
> Java linkage error thrown during load of generated class
> org.apache.derby.exe.ac601a400fx0100xefx1a6cx0000001b574011d
Most likely this error occurred because size of one of the methods in
the generated class has become > 64k.
JVM throws error while loading classes when a method becomes > 64k. .
>
> The exception was thrown from a con.prepareStatement(expresssion_string)
>
> The expression string is an INSERT statement that includes VALUES for
> many rows, possibly over a thousand (each row has 7 columns).
>
> Could the number of rows be a problem? Is there a practical limit to
> how much I can pack into a prepared insert statement (other than the
> jvm's heap size, of course)?
>
My guess is, it would be difficult to estimate the number of rows. It
depends on the size of the column values and how the generated class is
structured.
It is most probably a bug that does have a good fix in derby. While
generating the class it has to break
methods with > 64k size into smaller pieces. You may want to file a
zira entry for this problem.
Only work around I can think of is to break the large insert into
smaller ones :-)
-suresht
|