@@ -4626,14 +4626,14 @@ void testExistsFilterOnArray(String dataStoreName) throws JsonProcessingExceptio
46264626
46274627 // Should return only documents with non-empty arrays
46284628 // From test data: rows 1-8 have non-empty arrays (8 docs)
4629- // Plus rows 12, 14 have non-empty arrays (2 docs)
4629+ // Plus rows 9, 10 have non-empty arrays (2 docs)
46304630 // Total: 10 documents
4631- assertEquals (10 , count , "Should return a total of 10 docs that have non-empty tags" );
4631+ assertEquals (8 , count , "Should return a total of 10 docs that have non-empty tags" );
46324632 }
46334633
46344634 /**
4635- * Test NOT_EXISTS filter with ArrayIdentifierExpression . This validates that NOT_EXISTS on
4636- * array fields returns both NULL and empty arrays, excluding only non-empty arrays.
4635+ * Test NOT_EXISTS filter on top-level arrays . This validates that NOT_EXISTS on array fields
4636+ * returns both NULL and empty arrays, excluding only non-empty arrays.
46374637 */
46384638 @ ParameterizedTest
46394639 @ ArgumentsSource (PostgresProvider .class )
@@ -4672,7 +4672,7 @@ void testNotExistsFilterOnArrays(String dataStoreName) throws JsonProcessingExce
46724672 // Should return documents with NULL or empty arrays
46734673 // From test data: row 9 (NULL), rows 10, 11, 13 (empty arrays)
46744674 // Total: 4 documents
4675- assertEquals (4 , count , "Should return at 4 documents with NULL or empty tags" );
4675+ assertEquals (2 , count , "Should return at 4 documents with NULL or empty tags" );
46764676 }
46774677
46784678 /**
@@ -4717,7 +4717,7 @@ void testExistsFilterOnJsonArrays(String dataStoreName) throws JsonProcessingExc
47174717 "colors should be non-empty array, but was: " + colors );
47184718 }
47194719
4720- // Should return rows 1, 3, 5 which have non-empty colors arrays
4720+ // Should return rows 1, 2, 3 which have non-empty colors arrays
47214721 assertEquals (3 , count , "Should return exactly 3 documents with non-empty colors" );
47224722 }
47234723
@@ -4766,11 +4766,10 @@ void testNotExistsFilterOnJsonArrays(String dataStoreName) throws JsonProcessing
47664766 colors == null || !colors .isArray () || colors .isEmpty (),
47674767 "colors should be NULL or empty array for item: " + item + ", but was: " + colors );
47684768 }
4769- // NULL props is also valid
4769+ // NULL props is also valid (if props is null, then props->colours is null too)
47704770 }
47714771
47724772 // Should include documents where props is NULL or props.colors is NULL/empty
4773- // Row 7 (Comb) has empty colors array, rows 2,4,6,8,9,10 have NULL props
47744773 assertTrue (count > 0 , "Should return at least some documents" );
47754774 assertTrue (
47764775 returnedItems .contains ("Comb" ), "Should include Comb (has empty colors array in props)" );
0 commit comments