From 24e669d1e6ae109a4d163b342c7fb501b949074a Mon Sep 17 00:00:00 2001 From: Guodong Jin Date: Mon, 16 Dec 2024 17:52:13 +0800 Subject: [PATCH] Fix incorrect set of sequence val after exporting database (#4636) * fix incorrect set of sequence val after exporting database * add test case --- .../catalog_entry/sequence_catalog_entry.cpp | 3 ++- test/test_files/copy/export_import_db.test | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/catalog/catalog_entry/sequence_catalog_entry.cpp b/src/catalog/catalog_entry/sequence_catalog_entry.cpp index 250e226b28d..e2fc103ec16 100644 --- a/src/catalog/catalog_entry/sequence_catalog_entry.cpp +++ b/src/catalog/catalog_entry/sequence_catalog_entry.cpp @@ -157,9 +157,10 @@ std::unique_ptr SequenceCatalogEntry::deserialize( std::string SequenceCatalogEntry::toCypher(main::ClientContext* /*clientContext*/) const { return stringFormat( + "DROP SEQUENCE IF EXISTS {};\n" "CREATE SEQUENCE IF NOT EXISTS {} START {} INCREMENT {} MINVALUE {} MAXVALUE {} {} CYCLE;\n" "RETURN nextval('{}');", - getName(), sequenceData.currVal, sequenceData.increment, sequenceData.minValue, + getName(), getName(), sequenceData.currVal, sequenceData.increment, sequenceData.minValue, sequenceData.maxValue, sequenceData.cycle ? "" : "NO", getName()); } diff --git a/test/test_files/copy/export_import_db.test b/test/test_files/copy/export_import_db.test index 4eeb265f4b1..ee1981c2077 100644 --- a/test/test_files/copy/export_import_db.test +++ b/test/test_files/copy/export_import_db.test @@ -181,6 +181,22 @@ Imported database successfully. ---- 2 0 1 +-STATEMENT CREATE (o:twoserial {prop: "Dan2"}) +---- ok +-STATEMENT CREATE (o:oneserial) +---- ok +-STATEMENT MATCH (o:twoserial) RETURN o.*; +---- 5 +0|Alice +1|Bob +2|Carol +3|Dan +4|Dan2 +-STATEMENT MATCH (o:oneserial) RETURN o.*; +---- 3 +0 +1 +2 -CASE DocExportImportExampleCSV -SKIP_WASM