Main   Products   Offshore Outsourcing   Customers   Partners   ContactUs  
JDBC Databases
  HXTT Access v5.2
 
  Buy Now
  Support
  Download
  Document
  FAQ
  HXTT Cobol v2.1
  HXTT DBF v5.2
  HXTT Excel v4.2
  HXTT Paradox v5.2
  HXTT Text(CSV) v5.2
  HXTT XML v1.2
Offshore Outsourcing
Oracle Data Import/Export
DB2 Data Import/Export
Sybase Data Import/Export
Free Resources
  Firewall Tunneling
  Search Indexing Robot
  Conditional Compilation
  Password Recovery for MS Access
  Password Recovery for Corel Paradox
  Checksum Tool for MD5
  Character Set Converter
  Pyramid - Poker of ZYH
   
   
   
Hongxin Technology & Trade Ltd. of Xiangtan City (abbr, HXTT)

HXTT ACCESS
Using a COALESCE function throws a java.lang.ArrayIndexOutOfBoundsException
Govind
2013-08-08 11:24:26.0
Hi,
We are facing a problem after upgrading the HXTT driver from
Specification-Version: 5.1.126 [ April 08, 2013 ] to
Specification-Version: 5.1.150 [ June 25, 2013 ]

Please find the query below. The final update query works on the driver v5.1.126 and fails on the v5.1.150

Please provide a fix as soon as possible.

DROP TABLE if exists [UIP_Target];

CREATE TABLE [UIP_Target]
([key_string] VARCHAR(10) NULL,
[key_int] INTEGER NULL,
[data_string] VARCHAR(80) NULL,
[data_int] INTEGER NULL,
[data_decimal] DECIMAL(8,2) NULL);

INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES (null,111,'Mike',74832,-9999.99);
INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES (null,null,'default',334455,-9999.99);
INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES (null,111,'Mike',74832,-9999.99);
INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES (null,null,'default',334455,-9999.99);
INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES ('AAA',111,'default',-999,-9999.99);
INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES ('AAA',null,'Keith',-999,9.75);
INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES ('AAA',111,'default',-999,-9999.99);
INSERT INTO UIP_Target (key_string,key_int,data_string,data_int,data_decimal) VALUES ('AAA',null,'Keith',-999,9.75);

DROP TABLE if exists [DP3475];

CREATE TABLE [DP3475]
([KEY208] VARCHAR(10) NOT NULL,
[KEY572] INTEGER NOT NULL,
[key_string] VARCHAR(10) NULL,
[key_int] INTEGER NULL,
[data_string] VARCHAR(80) NULL,
[data_int] INTEGER NULL,
[data_decimal] NUMBER(8,2) NULL,
CONSTRAINT [KDP3475] PRIMARY KEY([KEY208], [KEY572]));

INSERT INTO DP3475 (KEY208,KEY572,key_string,key_int,data_string,data_int,data_decimal) VALUES ('AAA',111,'AAA',111,null,100,234.45);


UPDATE "UIP_Target" SET "key_string" = (SELECT COALESCE(DP3475."key_string", "UIP_Target"."key_string") FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572"), "key_int" = (SELECT COALESCE(DP3475."key_int", "UIP_Target"."key_int") FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572"), "data_string" = (SELECT COALESCE(DP3475."data_string", "UIP_Target"."data_string") FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572"), "data_int" = (SELECT COALESCE(DP3475."data_int", "UIP_Target"."data_int") FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572"), "data_decimal" = (SELECT COALESCE(DP3475."data_decimal", "UIP_Target"."data_decimal") FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572") WHERE EXISTS (SELECT 'X' FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572")




Re:Using a COALESCE function throws a java.lang.ArrayIndexOutOfBoundsException
Govind
2013-08-08 11:40:16.0
Please take this up as a high priority.
Re:Re:Using a COALESCE function throws a java.lang.ArrayIndexOutOfBoundsException
HXTT Support
2013-08-09 02:58:16.0
2013-08-09 support update batch column list syntax. For instance, UPDATE "UIP_Target" SET ("key_string","key_int","data_string","data_int","data_decimal" ) = (SELECT COALESCE(DP3475."key_string", "UIP_Target"."key_string"),COALESCE(DP3475."key_int", "UIP_Target"."key_int"),COALESCE(DP3475."data_string", "UIP_Target"."data_string"),COALESCE(DP3475."data_int", "UIP_Target"."data_int"),COALESCE(DP3475."data_decimal", "UIP_Target"."data_decimal") FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572") WHERE EXISTS (SELECT 'X' FROM DP3475 WHERE "UIP_Target"."key_string"=DP3475."KEY208" AND "UIP_Target"."key_int"=DP3475."KEY572")
2013-08-02 fixed a component index match ArrayIndexOutOfBoundsException bug for JOIN sql since 2013-06-29.

Search Key   Search by Last 50 Questions




Google
 

Address: 9 Station Rd., Xiangtan City, Hunan Province, P.R. China
Postcode: 411100
Phone: (86)731-58225727
Fax: (86)731-58225727
Email: webmaster@hxtt.com
Copyright © 1999-2011 Hongxin Technology & Trade Ltd. | All Rights Reserved. | Privacy | Legal | Sitemap