Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions fts/test/test_files/copy_ignore_errors.test
Original file line number Diff line number Diff line change
Expand Up @@ -30,30 +30,31 @@
-STATEMENT CALL QUERY_FTS_INDEX('Doc', 'idx', 'cherry') RETURN node.id;
---- 0

# A rejected row without indexable text must not be indexed with the previous row's text.
# A rejected row without indexable text must not be indexed with the previous row's text. The index
# maintained through the COPY must score like one built after it, which has no phantom document.
-CASE CopySkipsDuplicateWithoutText
-SKIP_IN_MEM
-LOAD_DYNAMIC_EXTENSION fts
-STATEMENT CREATE NODE TABLE Doc(id INT64 PRIMARY KEY, body STRING);
---- ok
-STATEMENT CREATE (:Doc {id: 1, body: 'apple'});
---- ok
-STATEMENT CALL CREATE_FTS_INDEX('Doc', 'idx', ['body']);
-STATEMENT CALL CREATE_FTS_INDEX('Doc', 'during', ['body']);
---- ok
-STATEMENT COPY (UNWIND [2, 1, 3] AS i RETURN i, CASE i WHEN 2 THEN 'banana cherry' WHEN 1 THEN '' ELSE 'date' END) TO '${LBUG_EXPORT_DB_DIRECTORY}_dup_empty.csv' (header=false);
---- ok
-STATEMENT COPY Doc FROM '${LBUG_EXPORT_DB_DIRECTORY}_dup_empty.csv' (header=false, ignore_errors=true);
---- ok
-STATEMENT CALL QUERY_FTS_INDEX('Doc', 'idx', 'banana') RETURN node.id, score;
-STATEMENT MATCH (d:Doc) RETURN count(*);
---- 1
2|0.353634
-STATEMENT CALL DROP_FTS_INDEX('Doc', 'idx');
---- ok
-STATEMENT CALL CREATE_FTS_INDEX('Doc', 'idx', ['body']);
3
-STATEMENT CALL CREATE_FTS_INDEX('Doc', 'after', ['body']);
---- ok
-STATEMENT CALL QUERY_FTS_INDEX('Doc', 'idx', 'banana') RETURN node.id, score;
-STATEMENT CALL QUERY_FTS_INDEX('Doc', 'during', 'banana') WITH node.id AS id, score AS during
CALL QUERY_FTS_INDEX('Doc', 'after', 'banana') WITH id, during, node.id AS id2, score AS after
WHERE id = id2 RETURN id, abs(during - after) < 0.000001;
---- 1
2|0.353634
2|True

# The rejected row is the last one in the file; rows written after the COPY stay deletable.
-CASE CopyRejectsLastRow
Expand Down
Loading