@finos/legend-extension-dsl-persistence
Version:
Legend extension for Persistence DSL
167 lines (130 loc) • 5.61 kB
text/typescript
/**
* Copyright (c) 2020-present, Goldman Sachs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
export enum PERSISTENCE_HASH_STRUCTURE {
PERSISTENCE = 'PERSISTENCE',
// service output target
SERVICE_OUTPUT_TARGET = 'SERVICE_OUTPUT_TARGET',
// persistence target
RELATIONAL_PERSISTENCE_TARGET = 'RELATIONAL_PERSISTENCE_TARGET',
// temporality
NON_TEMPORAL = 'NON_TEMPORAL',
UNI_TEMPORAL = 'UNI_TEMPORAL',
BI_TEMPORAL = 'BI_TEMPORAL',
// updates handling
APPEND_ONLY_UPDATES = 'APPEND_ONLY_UPDATES',
OVERWRITE_UPDATES = 'OVERWRITE_UPDATES',
// append strategy
ALLOW_DUPLICATES = 'ALLOW_DUPLICATES',
FAIL_ON_DUPLICATES = 'FAIL_ON_DUPLICATES',
FILTER_DUPLICATES = 'FILTER_DUPLICATES',
// processing dimension
BATCH_ID = 'BATCH_ID',
PROCESSING_DATE_TIME = 'PROCESSING_DATE_TIME',
BATCH_ID_AND_DATE_TIME = 'BATCH_ID_AND_DATE_TIME',
// source derived dimension
SOURCE_DERIVED_TIME = 'SOURCE_DERIVED_TIME',
// source time fields
SOURCE_TIME_START = 'SOURCE_TIME_START',
SOURCE_TIME_START_AND_END = 'SOURCE_TIME_START_AND_END',
// service output
GRAPH_FETCH_SERVICE_OUTPUT = 'GRAPH_FETCH_SERVICE_OUTPUT',
TDS_SERVICE_OUTPUT = 'TDS_SERVICE_OUTPUT',
// de-duplication
NO_DEDUPLICATION = 'NO_DEDUPLICATION',
ANY_VERSION = 'ANY_VERSION',
MAX_VERSION_FOR_GRAPH_FETCH = 'MAX_VERSION_FOR_GRAPH_FETCH',
MAX_VERSION_FOR_TDS = 'MAX_VERSION_FOR_TDS',
// dataset type
SNAPSHOT = 'SNAPSHOT',
DELTA = 'DELTA',
// partitioning
NO_PARTITIONING = 'NO_PARTITIONING',
FIELD_BASED_FOR_GRAPH_FETCH = 'FIELD_BASED_FOR_GRAPH_FETCH',
FIEDD_BASED_FOR_TDS = 'FIEDD_BASED_FOR_TDS',
// empty dataset handling
NO_OP_DATASET_HANDLING = 'NO_OP_DATASET_HANDLING',
DELETE_TARGET_DATASET = 'DELETE_TARGET_DATASET',
// action indicator fields
NO_ACTION_INDICATOR = 'NO_ACTION_INDICATOR',
DELETE_INDICATOR_FOR_GRAPH_FETCH = 'DELETE_INDICATOR_FOR_GRAPH_FETCH',
DELETE_INDICATOR_FOR_TDS = 'DELETE_INDICATOR_FOR_TDS',
// auditing v2
AUDITING_DATE_TIME = 'AUDITING_DATE_TIME',
NO_AUDITING_V2 = 'NO_AUDITING_V2',
// trigger
MANUAL_TRIGGER = 'MANUAL_TRIGGER',
CRON_TRIGGER = 'CRON_TRIGGER',
// persister
STREAMING_PERSISTER = 'STREAMING_PERSISTER',
BATCH_PERSISTER = 'BATCH_PERSISTER',
// notifier
NOTIFIER = 'NOTIFIER',
EMAIL_NOTIFYEE = 'EMAIL_NOTIFYEE',
PAGER_DUTY_NOTIFYEE = 'PAGER_DUTY_NOTIFYEE',
// sink
RELATIONAL_SINK = 'RELATIONAL_SINK',
OBJECT_STORAGE_SINK = 'OBJECT_STORAGE_SINK',
// target shape
MULTI_FLAT_TARGET = 'MULTI_FLAT_TARGET',
FLAT_TARGET = 'FLAT_TARGET',
MULTI_FLAT_TARGET_PART = 'MULTI_FLAT_TARGET_PART',
// deduplication strategy
NO_DEDUPLICATION_STRATEGY = 'NO_DEDUPLICATION_STRATEGY',
ANY_VERSION_DEDUPLICATION_STRATEGY = 'ANY_VERSION_DEDUPLICATION_STRATEGY',
MAX_VERSION_DEDUPLICATION_STRATEGY = 'MAX_VERSION_DEDUPLICATION_STRATEGY',
DUPLICATE_COUNT_DEDUPLICATION_STRATEGY = 'DUPLICATE_COUNT_DEDUPLICATION_STRATEGY',
// ingest mode
NONTEMPORAL_SNAPSHOT = 'NONTEMPORAL_SNAPSHOT',
UNITEMPORAL_SNAPSHOT = 'UNITEMPORAL_SNAPSHOT',
BITEMPORAL_SNAPSHOT = 'BITEMPORAL_SNAPSHOT',
NONTEMPORAL_DELTA = 'NONTEMPORAL_DELTA',
UNITEMPORAL_DELTA = 'UNITEMPORAL_DELTA',
BITEMPORAL_DELTA = 'BITEMPORAL_DELTA',
APPEND_ONLY = 'APPEND_ONLY',
// merge strategy
NO_DELETES_MERGE_STRATEGY = 'NO_DELETES_MERGE_STRATEGY',
DELETE_INDICATOR_MERGE_STRATEGY = 'DELETE_INDICATOR_MERGE_STRATEGY',
// auditing
NO_AUDITING = 'NO_AUDITING',
DATE_TIME_AUDITING = 'DATE_TIME_AUDITING',
// transactional milestoning
BATCH_ID_TRANSACTION_MILESTONING = 'BATCH_ID_TRANSACTION_MILESTONING',
DATE_TIME_TRANSACTION_MILESTONING = 'DATE_TIME_TRANSACTION_MILESTONING',
BATCH_ID_AND_DATE_TIME_TRANSACTION_MILESTONING = 'BATCH_ID_AND_DATE_TIME_TRANSACTION_MILESTONING',
// transaction derivation
SOURCE_SPECIFIES_IN_DATE_TIME = 'SOURCE_SPECIFIES_IN_DATE_TIME',
SOURCE_SPECIFIES_IN_AND_OUT_DATE_TIME = 'SOURCE_SPECIFIES_IN_AND_OUT_DATE_TIME',
// validity milestoning
DATE_TIME_VALIDITY_MILESTONING = 'DATE_TIME_VALIDITY_MILESTONING',
// validity derivation
SOURCE_SPECIFIES_FROM_DATE_TIME = 'SOURCE_SPECIFIES_FROM_DATE_TIME',
SOURCE_SPECIFIES_FROM_AND_THRU_DATE_TIME = 'SOURCE_SPECIFIES_FROM_AND_THRU_DATE_TIME',
// test
PERSISTENCE_TEST = 'PERSISTENCE_TEST',
PERSISTENCE_TEST_BATCH = 'PERSISTENCE_TEST_BATCH',
PERSISTENCE_TEST_DATA = 'PERSISTENCE_TEST_DATA',
PERSISTENCE_CONNECTION_TEST_DATA = 'PERSISTENCE_CONNECTION_TEST_DATA',
// ------------------------------ Persistence Context -------------------------------
PERSISTENCE_CONTEXT = 'PERSISTENCE_CONTEXT',
// platform
DEFAULT_PERSISTENCE_PLATFORM = 'DEFAULT_PERSISTENCE_PLATFORM',
// service parameter
SERVICE_PARAMETER = 'SERVICE_PARAMETER',
PRIMITIVE_TYPE_VALUE_SERVICE_PARAMETER = 'PRIMITIVE_TYPE_VALUE_SERVICE_PARAMETER',
CONNECTION_VALUE_SERVICE_PARAMETER = 'CONNECTION_VALUE_SERVICE_PARAMETER',
// ------------------------------ Persistence Cloud -------------------------------
AWS_GLUE_PERSISTENCE_PLATFORM = 'AWS_GLUE_PERSISTENCE_PLATFORM',
}