Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Which Sybase component is causing this problem?

8 views
Skip to first unread message

Bill McHugh

unread,
Apr 3, 2002, 9:32:20 PM4/3/02
to
I need some help figuring out which of the Sybase components involved in this error is causing it. I'm using PowerJ's 3.6.1 C1 Java Datawindow and jConnect 5.5 to insert a new row into an ASA table with an identity column (primary key, integer, default autoincrement). Using ASA 6 (Case 1 below), everything works fine. The insert takes place and, in its updateEnd event, the datawindow brings back the new key value which is returned through jConnect as an INT4 with a length of 4, which was how ASA 6 returned identity values (as integers). But in ASA 7 and ASA 8, the datawindow throws an exception, apparently because an unexpected datatype is being returned for the identity column. In ASA 7 (Case 2), it's returned as an INTN, length 8, which appears to be in keeping with the behavior change in ASA 7, which returns an identity column as a BIGINT. But in ASA 8 (Case 3), it's returned as a NUMN, length 10, precision 14, scale 0.

All components except the database engine are the same in each case and are at at the very latest ebf level: PowerJ 3.6.1 C1, jConnect 5.5/build 25152/ebf 10106, java jdk 1.3.1_01. The java instruction that calls the datawindow method that throws the exception at JIF_Region_List.java:587 is:

regionID = (int)jdw_1.getItemNumber(jdw_1.getRow(), region_id);

Is this a problem with (a) the java datawindow, (b) jConnect, (c) the ASA 8 engine, or some combination of the above? I've attached ribo traces and, for case 2 & 3, a java exception stack trace.

Bill


Case 1 (ASA 6)
-----------------------
Capture Record Header
Source [4]: REQUEST (0x00000001)
Length [4]: 42

PDU Header
TDS Packet Type [1]: BUF_NORMAL (0x0F)
Status [1]: BUFSTAT_EOM (0x01)
Length [2]: 42
Channel [2]: 0
Packet No. [1]: 0
Window [1]: 0

LANGUAGE Token (0x21); variable length.
Length [4]: 29
Status [1]: UNUSED (0x00)
Text Length [0]: [28]
Text [28]: "Select @@identity from dummy"

Capture Record Header
Source [4]: RESPONSE (0x00000002)
Length [4]: 45

PDU Header
TDS Packet Type [1]: BUF_RESPONSE (0x04)
Status [1]: BUFSTAT_EOM (0x01)
Length [2]: 45
Channel [2]: 0
Packet No. [1]: 0
Window [1]: 0

ROWFMT Token (0xEE);
Length [2]: 20
Number of Columns [2]: 1
Column 1
Name Length [1]: 10
Name [10]: "@@identity"
Status [1]: <unrecognized> (0x00)
User Type [4]: 7 <<<===============
Data Type [1]: INT4 <<<===============
Length [0]: [4] <<<================
Locale Length [1]: 0

ROW Token (0xD1); variable length.
Column 1
Length [0]: [4]
Row data [4]: 3 (0x00000003)

DONE Token (0xFD); fixed length.
Length [0]: [8]
Status [2]: DONE_COUNT (0x0010)
TranState [2]: TDS_TRAN_SUCCEED (0x0001)
Count [4]: 1


Case 2 (ASA 7)
-----------------------
Capture Record Header
Source [4]: REQUEST (0x00000001)
Length [4]: 42

PDU Header
TDS Packet Type [1]: BUF_NORMAL (0x0F)
Status [1]: BUFSTAT_EOM (0x01)
Length [2]: 42
Channel [2]: 0
Packet No. [1]: 0
Window [1]: 0

LANGUAGE Token (0x21); variable length.
Length [4]: 29
Status [1]: UNUSED (0x00)
Text Length [0]: [28]
Text [28]: "Select @@identity from dummy"

Capture Record Header
Source [4]: RESPONSE (0x00000002)
Length [4]: 51

PDU Header
TDS Packet Type [1]: BUF_RESPONSE (0x04)
Status [1]: BUFSTAT_EOM (0x01)
Length [2]: 51
Channel [2]: 0
Packet No. [1]: 0
Window [1]: 0

ROWFMT Token (0xEE);
Length [2]: 21
Number of Columns [2]: 1
Column 1
Name Length [1]: 10
Name [10]: "@@identity"
Status [1]: <unrecognized> (0x00)
User Type [4]: 13
Data Type [1]: INTN <<<=============
Length [1]: 8 <<<===============
Locale Length [1]: 0

ROW Token (0xD1); variable length.
Column 1
Length [1]: 8
Row data [8]: 3 (0x0000000000000003)

DONE Token (0xFD); fixed length.
Length [0]: [8]
Status [2]: DONE_COUNT (0x0010)
TranState [2]: TDS_TRAN_SUCCEED (0x0001)
Count [4]: 1


ERROR : BaseValue : Invalid method called.
ERROR : This implementation should never have been called
ERROR : The overridden implementation in DataValueXxx...
ERROR : should have been called instead
ERROR : The type of this DataValue is : BIGINT
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:993)
at powersoft.datawindow.DataValue.stb(Unknown Source)
at powersoft.datawindow.DataValue.getValueInt(Unknown Source)
at powersoft.datawindow.DWConsole.getItemDouble(Unknown Source)
at powersoft.datawindow.DWConsole.getItemNumber(Unknown Source)
at powersoft.datawindow.JDataWindowChild.getItemNumber(JDataWindowChild.java)
at powersoft.datawindow.JDataWindowChild.getItemNumber(JDataWindowChild.java)
at JIF_Region_List.jdw_1_updateEnd(JIF_Region_List.java:587)
at JIF_Region_List.updateEnd(JIF_Region_List.java:365)
at powersoft.datawindow.DWConsole.xs(Unknown Source)
at powersoft.datawindow.DWConsole.dwNotify(Unknown Source)
at powersoft.datawindow.DWConsole.dwNotify(Unknown Source)
at powersoft.datawindow.DWObject.dwNotify(Unknown Source)
at powersoft.datawindow.DWDBUpdater.tableUpdate(Unknown Source)
at powersoft.datawindow.DWObject.tableUpdate(Unknown Source)
at powersoft.datawindow.DataWindowServer.tableUpdate(Unknown Source)
at powersoft.datawindow.DWConsole.update(Unknown Source)
at powersoft.datawindow.JDataWindowChild.update(JDataWindowChild.java)
at powersoft.datawindow.JDataWindowChild.update(JDataWindowChild.java)
at powersoft.powerj.ui.JDataNavigator.performDefaultAction(JDataNavigator.java:989)
at powersoft.powerj.ui.JDataNavigator.actionPerformed(JDataNavigator.java:1040)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230)
at java.awt.Component.processMouseEvent(Component.java:3715)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:926)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)

Case 3 (ASA 8)
-----------------------
Capture Record Header
Source [4]: REQUEST (0x00000001)
Length [4]: 42

PDU Header
TDS Packet Type [1]: BUF_NORMAL (0x0F)
Status [1]: BUFSTAT_EOM (0x01)
Length [2]: 42
Channel [2]: 0
Packet No. [1]: 0
Window [1]: 0

LANGUAGE Token (0x21); variable length.
Length [4]: 29
Status [1]: UNUSED (0x00)
Text Length [0]: [28]
Text [28]: "Select @@identity from dummy"

Capture Record Header
Source [4]: RESPONSE (0x00000002)
Length [4]: 55

PDU Header
TDS Packet Type [1]: BUF_RESPONSE (0x04)
Status [1]: BUFSTAT_EOM (0x01)
Length [2]: 55
Channel [2]: 0
Packet No. [1]: 0
Window [1]: 0

ROWFMT Token (0xEE);
Length [2]: 23
Number of Columns [2]: 1
Column 1
Name Length [1]: 10
Name [10]: "@@identity"
Status [1]: <unrecognized> (0x00)
User Type [4]: 54
Data Type [1]: NUMN <<<===============
Length [1]: 10 <<<================
Precision [1]: 0x14 <<<===============
Scale [1]: 0x00 <<<<===================
Locale Length [1]: 0

ROW Token (0xD1); variable length.
Column 1
Length [1]: 10
Row data [10]: 3

DONE Token (0xFD); fixed length.
Length [0]: [8]
Status [2]: DONE_COUNT (0x0010)
TranState [2]: TDS_TRAN_SUCCEED (0x0001)
Count [4]: 1

ERROR : BaseValue : Invalid method called.
ERROR : This implementation should never have been called
ERROR : The overridden implementation in DataValueXxx...
ERROR : should have been called instead
ERROR : The type of this DataValue is : DECIMAL
java.lang.Exception: Stack trace
at java.lang.Thread.dumpStack(Thread.java:993)
at powersoft.datawindow.DataValue.stb(Unknown Source)
at powersoft.datawindow.DataValue.getValueInt(Unknown Source)
at powersoft.datawindow.DWConsole.getItemDouble(Unknown Source)
at powersoft.datawindow.DWConsole.getItemNumber(Unknown Source)
at powersoft.datawindow.JDataWindowChild.getItemNumber(JDataWindowChild.java)
at powersoft.datawindow.JDataWindowChild.getItemNumber(JDataWindowChild.java)
at JIF_Region_List.jdw_1_updateEnd(JIF_Region_List.java:587)
at JIF_Region_List.updateEnd(JIF_Region_List.java:365)
at powersoft.datawindow.DWConsole.xs(Unknown Source)
at powersoft.datawindow.DWConsole.dwNotify(Unknown Source)
at powersoft.datawindow.DWConsole.dwNotify(Unknown Source)
at powersoft.datawindow.DWObject.dwNotify(Unknown Source)
at powersoft.datawindow.DWDBUpdater.tableUpdate(Unknown Source)
at powersoft.datawindow.DWObject.tableUpdate(Unknown Source)
at powersoft.datawindow.DataWindowServer.tableUpdate(Unknown Source)
at powersoft.datawindow.DWConsole.update(Unknown Source)
at powersoft.datawindow.JDataWindowChild.update(JDataWindowChild.java)
at powersoft.datawindow.JDataWindowChild.update(JDataWindowChild.java)
at powersoft.powerj.ui.JDataNavigator.performDefaultAction(JDataNavigator.java:989)
at powersoft.powerj.ui.JDataNavigator.actionPerformed(JDataNavigator.java:1040)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1504)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:378)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:250)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:216)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:230)
at java.awt.Component.processMouseEvent(Component.java:3715)
at java.awt.Component.processEvent(Component.java:3544)
at java.awt.Container.processEvent(Container.java:1164)
at java.awt.Component.dispatchEventImpl(Component.java:2593)
at java.awt.Container.dispatchEventImpl(Container.java:1213)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:2451)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2216)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2125)
at java.awt.Container.dispatchEventImpl(Container.java:1200)
at java.awt.Window.dispatchEventImpl(Window.java:926)
at java.awt.Component.dispatchEvent(Component.java:2497)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:339)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:131)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:98)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:85)


0 new messages