From d3179aef4a47f099b76de6785823904ef165258d Mon Sep 17 00:00:00 2001 From: inv-jishnu <31100916+inv-jishnu@users.noreply.github.com> Date: Fri, 13 Dec 2024 11:10:10 +0530 Subject: [PATCH] Add enum, constants for data loader (#2386) Co-authored-by: Peckstadt Yves --- .../scalar/db/dataloader/core/Constants.java | 27 +++++++++++++++++++ .../db/dataloader/core/DatabaseKeyType.java | 7 +++++ .../db/dataloader/core/ScalarDBMode.java | 7 +++++ .../scalar/db/dataloader/core/ScanRange.java | 17 ++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 data-loader/core/src/main/java/com/scalar/db/dataloader/core/Constants.java create mode 100644 data-loader/core/src/main/java/com/scalar/db/dataloader/core/DatabaseKeyType.java create mode 100644 data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScalarDBMode.java create mode 100644 data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScanRange.java diff --git a/data-loader/core/src/main/java/com/scalar/db/dataloader/core/Constants.java b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/Constants.java new file mode 100644 index 000000000..09759bf5b --- /dev/null +++ b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/Constants.java @@ -0,0 +1,27 @@ +package com.scalar.db.dataloader.core; + +/** The constants that are used in the com.scalar.dataloader.core package */ +public class Constants { + + public static final String IMPORT_LOG_ENTRY_STATUS_FIELD = "data_loader_import_status"; + public static final String TABLE_LOOKUP_KEY_FORMAT = "%s.%s"; + + public static final String LOG_UPDATE_SUCCESS = "Row %s has been updated in table %s.%s"; + public static final String LOG_INSERT_SUCCESS = "Row %s has been inserted into table %s.%s"; + public static final String LOG_IMPORT_VALIDATION = "Validating data for line %s ..."; + public static final String LOG_IMPORT_GET_DATA = + "Retrieving existing data record from database ..."; + public static final String LOG_IMPORT_LINE_SUCCESS = "Row %s import is completed"; + public static final String LOG_IMPORT_LINE_FAILED = "Row %s import has failed: %s"; + public static final String LOG_IMPORT_COMPLETED = + "The import process has been completed. Please check the success and failed output files for a detailed report"; + + public static final String LOG_SCANNING_START = "Retrieving data from %s.%s table ..."; + public static final String LOG_CONVERTING = "Converting %s.%s data to %s ..."; + public static final String MISSING_CSV_HEADERS = + "Valid headers are not present or missing in the provided CSV file"; + public static final String ERROR_MISSING_SOURCE_FIELD = + "the data mapping source field '%s' for table '%s' is missing in the json data record"; + public static final String ABORT_TRANSACTION_STATUS = + "Transaction aborted as part of batch transaction aborted"; +} diff --git a/data-loader/core/src/main/java/com/scalar/db/dataloader/core/DatabaseKeyType.java b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/DatabaseKeyType.java new file mode 100644 index 000000000..b1926740a --- /dev/null +++ b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/DatabaseKeyType.java @@ -0,0 +1,7 @@ +package com.scalar.db.dataloader.core; + +/** Type of key in database */ +public enum DatabaseKeyType { + PARTITION, + CLUSTERING +} diff --git a/data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScalarDBMode.java b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScalarDBMode.java new file mode 100644 index 000000000..b7326ccb4 --- /dev/null +++ b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScalarDBMode.java @@ -0,0 +1,7 @@ +package com.scalar.db.dataloader.core; + +/** The available modes a ScalarDB instance can run in */ +public enum ScalarDBMode { + STORAGE, + TRANSACTION +} diff --git a/data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScanRange.java b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScanRange.java new file mode 100644 index 000000000..b1ae7b02d --- /dev/null +++ b/data-loader/core/src/main/java/com/scalar/db/dataloader/core/ScanRange.java @@ -0,0 +1,17 @@ +package com.scalar.db.dataloader.core; + +import com.scalar.db.io.Key; +import lombok.Value; + +/** * The scan range which is used in data export scan filtering */ +@Value +public class ScanRange { + /** The key for scan start filter */ + Key scanStartKey; + /** The key for scan end filter */ + Key scanEndKey; + /** To include the scan start key value in the export data scan */ + boolean isStartInclusive; + /** To include the scan end key value in the export data scan */ + boolean isEndInclusive; +}