[
https://issues.apache.org/jira/browse/PHOENIX-2765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James Taylor updated PHOENIX-2765:
----------------------------------
Description:
CREATE TABLE IF NOT EXISTS FOO_RECORD
(
KEY1 char(15) not null,
KEY2 char(15) not null,
KEY3 SMALLINT not null,
STATUS TINYINT not null,
KEY4 varchar(30),
KEY5 char(15) not null,
FOO_RECORD_ID char(15),
SYSMODSTAMP TIMESTAMP,
"av"."_" char(1), -- Column family av
"rv"."_" char(1), -- Column family rv
"fd"."_" char(1), -- Column family dv
CONSTRAINT PK PRIMARY KEY (
KEY1,
KEY2,
KEY3,
STATUS,
KEY4,
KEY5
)
) VERSIONS=1,MULTI_TENANT=true,REPLICATION_SCOPE=1
Code and DML
try {
PreparedStatement preparedStmt =
phoenixConnection.prepareStatement(upsertStatement);
for (DARecord record : daRecords) {
prepareToUpserFooRecord(preparedStmt, fieldInfo, record);
}
preparedStmt.close();
phoenixConnection.commit();
} finally {
phoenixConnection.close();
}
UPSERT INTO FOO_RECORD(
KEY1, KEY2, KEY3, STATUS, KEY4, KEY5, SYSMODSTAMP, "fa"."FIELD1" VARCHAR,
"av"."FIELD2" VARCHAR, "av"."FIELD3" VARCHAR, "av"."FIELD4" VARCHAR,
"rv"."FIELD1" VARCHAR, "rv"."FIELD2" VARCHAR, "rv"."FIELD3" VARCHAR,
"rv"."FIELD4" VARCHAR, "rv"."FIELD5" VARCHAR, "rv"."FIELD6" VARCHAR,
"rv"."FIELD7" VARCHAR, "rv"."FIELD8" VARCHAR, "rv"."FIELD9" VARCHAR,
"rv"."FIELD10" VARCHAR, "rv"."FIELD11" VARCHAR, "rv"."FIELD12" VARCHAR,
"rv"."FIELD13" VARCHAR, "rv"."FIELD14" VARCHAR, "rv"."FIELD15" VARCHAR,
"fd"."FIELD1" TINYINT, "fd"."FIELD2" TINYINT, "fd"."FIELD3" TINYINT,
"fd"."FIELD4" TINYINT, "fd"."FIELD5" TINYINT, "fd"."FIELD6" TINYINT,
"fd"."FIELD7" TINYINT, "fd"."FIELD8" TINYINT, "fd"."FIELD9" TINYINT,
"fd"."FIELD10" TINYINT, "fd"."FIELD11" TINYINT, "fd"."FIELD12" TINYINT,
"fd"."FIELD13" TINYINT, "fd"."FIELD13" TINYINT, "fd"."FIELD15" TINYINT)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
was:
Code and DML
try {
PreparedStatement preparedStmt =
phoenixConnection.prepareStatement(upsertStatement);
for (DARecord record : daRecords) {
prepareToUpserFooRecord(preparedStmt, fieldInfo, record);
}
preparedStmt.close();
phoenixConnection.commit();
} finally {
phoenixConnection.close();
}
UPSERT INTO FOO_RECORD(
KEY1, KEY2, KEY3, STATUS, KEY4, KEY5, SYSMODSTAMP, "fa"."FIELD1" VARCHAR,
"av"."FIELD2" VARCHAR, "av"."FIELD3" VARCHAR, "av"."FIELD4" VARCHAR,
"rv"."FIELD1" VARCHAR, "rv"."FIELD2" VARCHAR, "rv"."FIELD3" VARCHAR,
"rv"."FIELD4" VARCHAR, "rv"."FIELD5" VARCHAR, "rv"."FIELD6" VARCHAR,
"rv"."FIELD7" VARCHAR, "rv"."FIELD8" VARCHAR, "rv"."FIELD9" VARCHAR,
"rv"."FIELD10" VARCHAR, "rv"."FIELD11" VARCHAR, "rv"."FIELD12" VARCHAR,
"rv"."FIELD13" VARCHAR, "rv"."FIELD14" VARCHAR, "rv"."FIELD15" VARCHAR,
"fd"."FIELD1" TINYINT, "fd"."FIELD2" TINYINT, "fd"."FIELD3" TINYINT,
"fd"."FIELD4" TINYINT, "fd"."FIELD5" TINYINT, "fd"."FIELD6" TINYINT,
"fd"."FIELD7" TINYINT, "fd"."FIELD8" TINYINT, "fd"."FIELD9" TINYINT,
"fd"."FIELD10" TINYINT, "fd"."FIELD11" TINYINT, "fd"."FIELD12" TINYINT,
"fd"."FIELD13" TINYINT, "fd"."FIELD13" TINYINT, "fd"."FIELD15" TINYINT)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
> PhoenixConnection commit throws ArrayIndexOutOfBoundsException after
> upserting multiple rows with dynamic columns
> -----------------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-2765
> URL: https://issues.apache.org/jira/browse/PHOENIX-2765
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.6.0
> Reporter: Clifford Ker
>
> CREATE TABLE IF NOT EXISTS FOO_RECORD
> (
> KEY1 char(15) not null,
> KEY2 char(15) not null,
> KEY3 SMALLINT not null,
> STATUS TINYINT not null,
> KEY4 varchar(30),
> KEY5 char(15) not null,
> FOO_RECORD_ID char(15),
> SYSMODSTAMP TIMESTAMP,
> "av"."_" char(1), -- Column family av
> "rv"."_" char(1), -- Column family rv
> "fd"."_" char(1), -- Column family dv
> CONSTRAINT PK PRIMARY KEY (
> KEY1,
> KEY2,
> KEY3,
> STATUS,
> KEY4,
> KEY5
> )
> ) VERSIONS=1,MULTI_TENANT=true,REPLICATION_SCOPE=1
> Code and DML
> try {
> PreparedStatement preparedStmt =
> phoenixConnection.prepareStatement(upsertStatement);
> for (DARecord record : daRecords) {
> prepareToUpserFooRecord(preparedStmt, fieldInfo, record);
> }
> preparedStmt.close();
> phoenixConnection.commit();
> } finally {
> phoenixConnection.close();
> }
> UPSERT INTO FOO_RECORD(
> KEY1, KEY2, KEY3, STATUS, KEY4, KEY5, SYSMODSTAMP, "fa"."FIELD1" VARCHAR,
> "av"."FIELD2" VARCHAR, "av"."FIELD3" VARCHAR, "av"."FIELD4" VARCHAR,
> "rv"."FIELD1" VARCHAR, "rv"."FIELD2" VARCHAR, "rv"."FIELD3" VARCHAR,
> "rv"."FIELD4" VARCHAR, "rv"."FIELD5" VARCHAR, "rv"."FIELD6" VARCHAR,
> "rv"."FIELD7" VARCHAR, "rv"."FIELD8" VARCHAR, "rv"."FIELD9" VARCHAR,
> "rv"."FIELD10" VARCHAR, "rv"."FIELD11" VARCHAR, "rv"."FIELD12" VARCHAR,
> "rv"."FIELD13" VARCHAR, "rv"."FIELD14" VARCHAR, "rv"."FIELD15" VARCHAR,
> "fd"."FIELD1" TINYINT, "fd"."FIELD2" TINYINT, "fd"."FIELD3" TINYINT,
> "fd"."FIELD4" TINYINT, "fd"."FIELD5" TINYINT, "fd"."FIELD6" TINYINT,
> "fd"."FIELD7" TINYINT, "fd"."FIELD8" TINYINT, "fd"."FIELD9" TINYINT,
> "fd"."FIELD10" TINYINT, "fd"."FIELD11" TINYINT, "fd"."FIELD12" TINYINT,
> "fd"."FIELD13" TINYINT, "fd"."FIELD13" TINYINT, "fd"."FIELD15" TINYINT)
> VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)