mirror of https://github.com/apache/cassandra
Fix NullPointerException in ANN+WHERE when adding rows in another partition
patch by Ekaterina Dimitrova; reviewed by Andres de la Pena for CASSANDRA-19404
This commit is contained in:
parent
106be29feb
commit
54cf65476a
|
|
@ -1,4 +1,5 @@
|
|||
5.0-beta2
|
||||
* Fix NullPointerException in ANN+WHERE when adding rows in another partition (CASSANDRA-19404)
|
||||
* Record latencies for SAI post-filtering reads against local storage (CASSANDRA-18940)
|
||||
* Fix VectorMemoryIndex#update logic to compare vectors. Fix Index view (CASSANDRA-19168)
|
||||
* Deprecate native_transport_port_ssl (CASSANDRA-19392)
|
||||
|
|
|
|||
|
|
@ -81,7 +81,8 @@ public class KeyRangeOrderingIterator extends KeyRangeIterator
|
|||
protected void performSkipTo(PrimaryKey nextToken)
|
||||
{
|
||||
input.skipTo(nextToken);
|
||||
nextIterator.skipTo(nextToken);
|
||||
if (nextIterator != null)
|
||||
nextIterator.skipTo(nextToken);
|
||||
}
|
||||
|
||||
public void close()
|
||||
|
|
|
|||
|
|
@ -657,4 +657,22 @@ public class VectorTypeTest extends VectorTester
|
|||
assertRowsIgnoringOrder(execute("SELECT pk FROM %s WHERE val = 'match me' ORDER BY vec ANN OF [1,1] LIMIT 5"),
|
||||
row(1), row(2), row(3), row(4), row(5));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void multiPartitionUpdateMultiIndexTest()
|
||||
{
|
||||
createTable("CREATE TABLE %s (pk int, row_v vector<float, 2>, metadata map<text, text>, PRIMARY KEY(pk))");
|
||||
createIndex("CREATE CUSTOM INDEX ON %s(entries(metadata)) USING 'StorageAttachedIndex'");
|
||||
createIndex("CREATE CUSTOM INDEX ON %s(row_v) USING 'StorageAttachedIndex'");
|
||||
|
||||
String select = "SELECT * FROM %s WHERE metadata['map_k'] = 'map_v' AND pk = 0 ORDER BY row_v ann of [0.1, 0.2] LIMIT 4";
|
||||
assertRows(execute(select));
|
||||
|
||||
execute("INSERT INTO %s (pk, metadata, row_v) VALUES (0, {'map_k' : 'map_v'}, [0.11, 0.19])");
|
||||
Object[] row = row(0, map("map_k", "map_v"), vector(0.11f, 0.19f));
|
||||
assertRows(execute(select), row);
|
||||
|
||||
execute("INSERT INTO %s (pk, metadata, row_v) VALUES (10, {'map_k' : 'map_v'}, [0.11, 0.19])");
|
||||
assertRows(execute(select), row);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue