Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
10.1.1.0
-
None
-
Derby in Network Server mode with either JCC or Derby Net Client.
Description
When connected to the Derby Network Server, if one has a table with a column defined as "GENERATED BY DEFAULT" and then one tries to select the "COLUMNDEFAULT" field from SYS.SYSCOLUMNS, the result is an NPE in the server code that leads to connection deallocation.
I don't know if this is a problem with the "GENERATED BY DEFAULT" feature or if it's a problem with Network Server--more investigation is required.
To reproduce, use ij to connect to a database using Network Server, and then:
ij> create table t1 (i int generated by default as identity);
0 rows inserted/updated/deleted
ij> select columndefault from sys.syscolumns;
COLUMNDEFAULT
----------------------------------------------------------------------------------------------------
----------------------------
null
java.lang.NullPointerException
at org.apache.derby.impl.drda.DRDAConnThread.writeFdocaVal(DRDAConnThread.java:6550)
at org.apache.derby.impl.drda.DRDAConnThread.writeFDODTA(DRDAConnThread.java:5973)
at org.apache.derby.impl.drda.DRDAConnThread.writeQRYDTA(DRDAConnThread.java:5796)
at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:595)
at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:226)
agentThread[DRDAConnThread_2,5,main]
ERROR 58009: Execution failed due to a distribution protocol error that caused deallocation of the conversation. A DRDA Data Stream Syntax Error was detected. Reason: 0x3