You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "David Wayne Birdsall (JIRA)" <ji...@apache.org> on 2015/10/13 20:14:05 UTC
[jira] [Created] (TRAFODION-1524) UPSERT failure with generator
error
David Wayne Birdsall created TRAFODION-1524:
-----------------------------------------------
Summary: UPSERT failure with generator error
Key: TRAFODION-1524
URL: https://issues.apache.org/jira/browse/TRAFODION-1524
Project: Apache Trafodion
Issue Type: Bug
Components: sql-cmp
Affects Versions: 1.2-incubating
Environment: Workstation development environment
Reporter: David Wayne Birdsall
The following log shows an UPSERT statement that fails in the generator. The target table has an index on a non-key column, and the UPSERT statement has a BETWEEN predicate on that same column. Take away either of these conditions and the failure goes away.
>>obey TestBadUpsert(setup1);
>>drop table if exists T1;
--- SQL operation complete.
>>drop table if exists T1backup;
--- SQL operation complete.
>>
>>create table T1
+> ( a integer not null,
+> b integer not null,
+> c integer not null,
+> d char(80),
+> primary key (a) )
+>salt using 4 partitions;
--- SQL operation complete.
>>
>>
>>insert into T1 values (1,1,1,'hi there!'),
+> (2,1,1,'a somewhat longer string'),
+> (3,2,2,'Now is the time for all good men to come to the aid of their country
.'),
+> (4,3,3,' ');
--- 4 row(s) inserted.
>>
>>
>>-- create another table just like T1
>>create table T1backup like T1;
--- SQL operation complete.
>>
>>insert into T1backup select * from T1;
--- 4 row(s) inserted.
>>
>>obey TestBadUpsert(setup2);
>>
>>create index iT1b on T1(b);
--- SQL operation complete.
>>
>>obey TestBadUpsert(badupsert);
>>
>>-- this upsert fails. Taking out the "between" (say, replacing
>>-- it with an equality predicate) eliminates the failure.
>>-- Taking out the index on b also eliminates the failure.
>>upsert into T1 select * from T1backup where b between 1 and 2;
*** ERROR[7000] An internal error occurred in the code generator in file ../gene
rator/GenPreCode.cpp at line 1313: valuesToBeBound.isEmpty().
*** ERROR[2235] Compiler Internal Error: An unknown error, originated from file
../generator/Generator.cpp at line 2810.
*** ERROR[8822] The statement was not prepared.
>>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)