Knut Anders Hatlen created DERBY-6602:
-----------------------------------------

             Summary: LuceneQueryVTI handles NULL key values inconsistently
                 Key: DERBY-6602
                 URL: https://issues.apache.org/jira/browse/DERBY-6602
             Project: Derby
          Issue Type: Bug
          Components: Tools
    Affects Versions: 10.11.0.0
            Reporter: Knut Anders Hatlen


If there's an integer key column with a NULL value, the Lucene query will 
return a fake key value (0) rather than NULL. The document id and score will be 
correct. Example:

{noformat}
ij> create table t1(x int, c clob);
0 rows inserted/updated/deleted
ij> insert into t1 values (null, 'abc'), (null, 'def');
2 rows inserted/updated/deleted
ij> call lucenesupport.createindex('app', 't1', 'c', null, 'x');
0 rows inserted/updated/deleted
ij> select * from table(t1__c('abc or def', null, 3, null)) tc;
X          |DOCUMENTID |SCORE          
---------------------------------------
0          |0          |0.35355338     
0          |1          |0.35355338     

2 rows selected
{noformat}

If the key column is a string type, the returned key is correct (NULL). The 
document id is sometimes correct and sometimes NULL, and the score seems to be 
NULL always. Example:

{noformat}
ij> create table t2(x varchar(10), c clob);
0 rows inserted/updated/deleted
ij> insert into t2 values (null, 'abc'), (null, 'def');
2 rows inserted/updated/deleted
ij> call lucenesupport.createindex('app', 't2', 'c', null, 'x');
0 rows inserted/updated/deleted
ij> select * from table(t2__c('abc or def', null, 3, null)) tc;
X         |DOCUMENTID |SCORE          
--------------------------------------
NULL      |NULL       |NULL           
NULL      |1          |NULL           

2 rows selected
{noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to