dynamobi/dynamobi — Issue #219: [LDB-102] assertion error during delete and recreating entries after an index create
Author: dynamobi-build
Created: 2011-12-30 02:22:40+00:00
State: open
Labels: LCS, LDB

[reporter="elin", created="Wed, 31 May 2006 19:08:24 -0500 (GMT-05:00)"]
An assertion error is produced when we try to delete from a table, create an index, recreate the entries and then delete again.

To reproduce:

create schema DT2;

set schema 'DT2';

create table fish (

id int not null,

name varchar(20),

is_ocean boolean,

location char(10)

);

insert into fish values(0, 'Salmon', true, 'NA');

insert into fish values(1, 'Mackerel', true, 'fridge');

insert into fish values(2, 'catfish', false, 'stomach');

insert into fish values(3, 'goldfish', false, 'trash');

select * from fish;

-- delete and recreate entries

delete from fish where is_ocean=true;

create index idx_fish_is_ocean on fish(is_ocean);

insert into fish values(0, 'Salmon', true, 'NA');

insert into fish values(1, 'Mackerel', true, 'fridge');

delete from fish where is_ocean=true;

delete from fish where is_ocean=false;

Stack trace:

Error: java.lang.AssertionError: null (state=,code=0)

net.sf.farrago.jdbc.FarragoJdbcUtil$FarragoSqlException: java.lang.AssertionError: null

at net.sf.farrago.query.FennelValuesRel.toStreamDef(FennelValuesRel.java:138)

at net.sf.farrago.query.FarragoRelImplementor.toStreamDefImpl(FarragoRelImplementor.java:185)

at net.sf.farrago.query.FarragoRelImplementor.visitFennelChild(FarragoRelImplementor.java:166)

at com.lucidera.lcs.LcsIndexSearchRel.toStreamDef(LcsIndexSearchRel.java:248)

at net.sf.farrago.query.FarragoRelImplementor.toStreamDefImpl(FarragoRelImplementor.java:185)

at net.sf.farrago.query.FarragoRelImplementor.visitFennelChild(FarragoRelImplementor.java:166)

at com.lucidera.lcs.LcsIndexBitOpRel.setBitOpChildStreams(LcsIndexBitOpRel.java:118)

at com.lucidera.lcs.LcsIndexMinusRel.toStreamDef(LcsIndexMinusRel.java:79)

at net.sf.farrago.query.FarragoRelImplementor.toStreamDefImpl(FarragoRelImplementor.java:185)

at net.sf.farrago.query.FarragoRelImplementor.visitFennelChild(FarragoRelImplementor.java:166)

at com.lucidera.lcs.LcsRowScanRel.toStreamDef(LcsRowScanRel.java:297)

at net.sf.farrago.query.FarragoRelImplementor.toStreamDefImpl(FarragoRelImplementor.java:185)

at net.sf.farrago.query.FarragoRelImplementor.visitFennelChild(FarragoRelImplementor.java:166)

at com.disruptivetech.farrago.rel.FennelCalcRel.toStreamDef(FennelCalcRel.java:186)

at net.sf.farrago.query.FarragoRelImplementor.toStreamDefImpl(FarragoRelImplementor.java:185)

at net.sf.farrago.query.FarragoRelImplementor.visitFennelChild(FarragoRelImplementor.java:166)

at com.lucidera.lcs.LcsTableDeleteRel.toStreamDef(LcsTableDeleteRel.java:125)

at net.sf.farrago.query.FarragoRelImplementor.toStreamDefImpl(FarragoRelImplementor.java:185)

at net.sf.farrago.query.FarragoRelImplementor.visitFennelChild(FarragoRelImplementor.java:166)

at net.sf.farrago.query.FennelToIteratorConverter.childToStreamDef(FennelToIteratorConverter.java:505)

at net.sf.farrago.query.FennelToIteratorConverter.implement(FennelToIteratorConverter.java:189)

at org.eigenbase.oj.rel.JavaRelImplementor.visitChildInternal(JavaRelImplementor.java:387)

at net.sf.farrago.query.FarragoRelImplementor.visitChildInternal(FarragoRelImplementor.java:204)

at org.eigenbase.oj.rel.JavaRelImplementor.visitChild(JavaRelImplementor.java:355)

at org.eigenbase.oj.rel.JavaRelImplementor.visitJavaChild(JavaRelImplementor.java:343)

at org.eigenbase.oj.rel.JavaRelImplementor.implementRoot(JavaRelImplementor.java:404)

at net.sf.farrago.query.FarragoRelImplementor.implementRoot(FarragoRelImplementor.java:353)

at org.eigenbase.oj.stmt.OJPreparingStmt.implement(OJPreparingStmt.java:314)

at org.eigenbase.oj.stmt.OJPreparingStmt.prepareSql(OJPreparingStmt.java:254)

at net.sf.farrago.query.FarragoPreparingStmt.prepare(FarragoPreparingStmt.java:260)

at net.sf.farrago.db.FarragoDatabase$2.initializeEntry(FarragoDatabase.java:784)

at net.sf.farrago.util.FarragoObjectCache.pin(FarragoObjectCache.java:157)

0: jdbc:luciddb:>