Skip to content

Commit

Permalink
rewrite
Browse files Browse the repository at this point in the history
  • Loading branch information
ray6080 committed Apr 11, 2024
1 parent 62547f3 commit fde561e
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 968 deletions.
106 changes: 31 additions & 75 deletions test/test_files/transaction/copy/copy.test
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,13 @@
-DATASET CSV empty
--

-DEFINE_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_TEST [
-STATEMENT CREATE NODE TABLE person (ID INT64, fName STRING, gender INT64, isStudent BOOLEAN, isWorker BOOLEAN, age INT64, eyeSight DOUBLE, birthdate DATE, registerTime TIMESTAMP, lastJobDuration INTERVAL, workedHours INT64[], usedNames STRING[], courseScoresPerTerm INT64[][], grades INT64[4], height float, u UUID, PRIMARY KEY (ID));
---- ok
-STATEMENT COPY person FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/vPerson.csv" (HEADER=true)
---- ok
]

-DEFINE_STATEMENT_BLOCK CREATE_COPY_REL_TABLE_TEST [
-CASE CopyNodeCommit
-STATEMENT CREATE NODE TABLE person (ID INT64, fName STRING, gender INT64, isStudent BOOLEAN, isWorker BOOLEAN, age INT64, eyeSight DOUBLE, birthdate DATE, registerTime TIMESTAMP, lastJobDuration INTERVAL, workedHours INT64[], usedNames STRING[], courseScoresPerTerm INT64[][], grades INT64[4], height float, u UUID, PRIMARY KEY (ID));
---- ok
-STATEMENT COPY person FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/vPerson.csv" (HEADER=true)
---- ok
-STATEMENT create rel table knows (FROM person TO person, date DATE, meetTime TIMESTAMP, validInterval INTERVAL, comments STRING[], summary STRUCT(locations STRING[], transfer STRUCT(day DATE, amount INT64[])), notes UNION(firstmet DATE, type INT16, comment STRING), someMap MAP(STRING, STRING), MANY_MANY);
---- ok
-STATEMENT COPY knows FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/eKnows.csv"
-STATEMENT COMMIT;
---- ok
]

-DEFINE_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_COMMIT [
-STATEMENT MATCH (p:person) return count(p);
---- 1
8
Expand All @@ -34,55 +22,38 @@
40
45
83
]

-DEFINE_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_ROLLBACK [
-STATEMENT MATCH (p:person) return count(p);
---- 1
0
-STATEMENT MATCH (p:person) return count(p);
---- 1
0
]


-CASE CopyNodeCommit
-STATEMENT BEGIN TRANSACTION
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_TEST
-STATEMENT COMMIT
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_COMMIT

-CASE CopyNodeCommitRecovery
-STATEMENT BEGIN TRANSACTION
-STATEMENT CREATE NODE TABLE person (ID INT64, fName STRING, gender INT64, isStudent BOOLEAN, isWorker BOOLEAN, age INT64, eyeSight DOUBLE, birthdate DATE, registerTime TIMESTAMP, lastJobDuration INTERVAL, workedHours INT64[], usedNames STRING[], courseScoresPerTerm INT64[][], grades INT64[4], height float, u UUID, PRIMARY KEY (ID));
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_TEST
-STATEMENT COMMIT_SKIP_CHECKPOINT
-STATEMENT COPY person FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/vPerson.csv" (HEADER=true)
---- ok
-STATEMENT COMMIT_SKIP_CHECKPOINT;
---- ok
-RELOADDB
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_COMMIT
-STATEMENT MATCH (p:person) return count(p);
---- 1
8
-STATEMENT MATCH (p:person) return p.age;
---- 8
20
20
25
30
35
40
45
83

-CASE CopyNodeCommitRollback
-STATEMENT BEGIN TRANSACTION
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_TEST
-STATEMENT ROLLBACK
-CASE CopyRelCommit
-STATEMENT CREATE NODE TABLE person (ID INT64, fName STRING, gender INT64, isStudent BOOLEAN, isWorker BOOLEAN, age INT64, eyeSight DOUBLE, birthdate DATE, registerTime TIMESTAMP, lastJobDuration INTERVAL, workedHours INT64[], usedNames STRING[], courseScoresPerTerm INT64[][], grades INT64[4], height float, u UUID, PRIMARY KEY (ID));
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_ROLLBACK

-CASE CopyNodeCommitRollbackRecovery
-STATEMENT BEGIN TRANSACTION
-STATEMENT COPY person FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/vPerson.csv" (HEADER=true)
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_TEST
-STATEMENT Rollback_skip_checkpoint
-STATEMENT create rel table knows (FROM person TO person, date DATE, meetTime TIMESTAMP, validInterval INTERVAL, comments STRING[], summary STRUCT(locations STRING[], transfer STRUCT(day DATE, amount INT64[])), notes UNION(firstmet DATE, type INT16, comment STRING), someMap MAP(STRING, STRING), MANY_MANY);
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_NODE_TABLE_ROLLBACK

-CASE CopyRelCommit
-STATEMENT BEGIN TRANSACTION
-STATEMENT COPY knows FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/eKnows.csv"
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_REL_TABLE_TEST
-STATEMENT COMMIT
---- ok
-STATEMENT MATCH (:person)-[e:knows]->(:person) RETURN COUNT(e);
Expand All @@ -98,9 +69,14 @@
1950-05-14

-CASE CopyRelCommitRecovery
-STATEMENT BEGIN TRANSACTION
-STATEMENT CREATE NODE TABLE person (ID INT64, fName STRING, gender INT64, isStudent BOOLEAN, isWorker BOOLEAN, age INT64, eyeSight DOUBLE, birthdate DATE, registerTime TIMESTAMP, lastJobDuration INTERVAL, workedHours INT64[], usedNames STRING[], courseScoresPerTerm INT64[][], grades INT64[4], height float, u UUID, PRIMARY KEY (ID));
---- ok
-STATEMENT COPY person FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/vPerson.csv" (HEADER=true)
---- ok
-STATEMENT create rel table knows (FROM person TO person, date DATE, meetTime TIMESTAMP, validInterval INTERVAL, comments STRING[], summary STRUCT(locations STRING[], transfer STRUCT(day DATE, amount INT64[])), notes UNION(firstmet DATE, type INT16, comment STRING), someMap MAP(STRING, STRING), MANY_MANY);
---- ok
-STATEMENT COPY knows FROM "${KUZU_ROOT_DIRECTORY}/dataset/tinysnb/eKnows.csv"
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_REL_TABLE_TEST
-STATEMENT COMMIT_SKIP_CHECKPOINT
---- ok
-RELOADDB
Expand All @@ -115,23 +91,3 @@
2021-06-30
1950-05-14
1950-05-14

-CASE CopyRelCommitRollback
-STATEMENT BEGIN TRANSACTION
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_REL_TABLE_TEST
-STATEMENT ROLLBACK
---- ok
-STATEMENT match (:person)-[e:knows]->(:person) RETURN COUNT(e);
---- 1
0

-CASE CopyRelCommitRollbackRecovery
-STATEMENT BEGIN TRANSACTION
---- ok
-INSERT_STATEMENT_BLOCK CREATE_COPY_REL_TABLE_TEST
-STATEMENT Rollback_skip_checkpoint
---- ok
-STATEMENT match (:person)-[e:knows]->(:person) RETURN COUNT(e);
---- 1
0
Loading

0 comments on commit fde561e

Please sign in to comment.