From a6f90ae811e7181ae3623fd64c90b327fbeb368e Mon Sep 17 00:00:00 2001 From: xiyang Date: Sun, 9 Jul 2023 16:26:45 -0400 Subject: [PATCH] Fix issue-1673 --- src/include/processor/operator/mask.h | 7 +++++++ test/test_files/tinysnb/ddl/ddl.test | 12 ++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 test/test_files/tinysnb/ddl/ddl.test diff --git a/src/include/processor/operator/mask.h b/src/include/processor/operator/mask.h index eece0e0fe6..855989137e 100644 --- a/src/include/processor/operator/mask.h +++ b/src/include/processor/operator/mask.h @@ -86,6 +86,10 @@ class NodeOffsetSemiMask : public NodeSemiMask { } inline void init(transaction::Transaction* trx) override { + auto maxNodeOffset = nodeTable->getMaxNodeOffset(trx); + if (maxNodeOffset == common::INVALID_OFFSET) { + return; + } offsetMask->init(nodeTable->getMaxNodeOffset(trx) + 1); } @@ -113,6 +117,9 @@ class NodeOffsetAndMorselSemiMask : public NodeSemiMask { inline void init(transaction::Transaction* trx) override { auto maxNodeOffset = nodeTable->getMaxNodeOffset(trx); + if (maxNodeOffset == common::INVALID_OFFSET) { + return; + } offsetMask->init(maxNodeOffset + 1); morselMask->init(MaskUtil::getMorselIdx(maxNodeOffset) + 1); } diff --git a/test/test_files/tinysnb/ddl/ddl.test b/test/test_files/tinysnb/ddl/ddl.test new file mode 100644 index 0000000000..4099d580e5 --- /dev/null +++ b/test/test_files/tinysnb/ddl/ddl.test @@ -0,0 +1,12 @@ +-GROUP TinySnbReadTest +-DATASET CSV tinysnb + +-- + +-CASE MatchEmptyTable +-STATEMENT CREATE NODE TABLE N(ID INT64, PRIMARY KEY(ID)) +---- ok +-STATEMENT CREATE REL TABLE E(FROM N TO N, MANY_MANY) +---- ok +-STATEMENT MATCH (a:N)-[:E]->(b:N) WHERE a.ID = 0 return b.ID; +---- 0