icsDataValidation 0.0.1__tar.gz → 1.0.419__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/MANIFEST.in +3 -3
  2. icsdatavalidation-1.0.419/PKG-INFO +20 -0
  3. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/configuration.py +18 -18
  4. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/azure_connection_setup.py +20 -20
  5. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/databricks_connection_setup.py +28 -28
  6. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/exasol_connection_setup.py +16 -16
  7. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/oracle_connection_setup.py +25 -25
  8. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/snowflake_connection_setup.py +35 -35
  9. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/sqlserver_connection_setup.py +20 -20
  10. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/teradata_connection_setup.py +17 -17
  11. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/core/database_objects.py +17 -17
  12. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/core/object_comparison.py +238 -238
  13. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/input_parameters/testing_tool_params.py +82 -82
  14. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/main.py +254 -254
  15. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/output_parameters/result_params.py +93 -93
  16. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/comparison_service.py +601 -586
  17. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/azure_service.py +346 -346
  18. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/databricks_hive_metastore_service.py +1707 -1707
  19. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/databricks_unity_catalog_service.py +1387 -1387
  20. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/exasol_service.py +264 -264
  21. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/oracle_service.py +722 -722
  22. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/snowflake_service.py +1149 -1149
  23. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/sqlserver_service.py +868 -868
  24. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/teradata_service.py +682 -682
  25. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/initialization_service.py +102 -102
  26. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/result_service.py +573 -573
  27. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/system_service.py +65 -65
  28. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/testset_service.py +257 -257
  29. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/utils/file_util.py +95 -95
  30. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/utils/logger_util.py +96 -96
  31. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/utils/pandas_util.py +158 -158
  32. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/utils/parallelization_util.py +51 -51
  33. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/utils/sql_util.py +13 -13
  34. icsdatavalidation-1.0.419/icsDataValidation.egg-info/PKG-INFO +20 -0
  35. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation.egg-info/SOURCES.txt +0 -1
  36. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation.egg-info/not-zip-safe +1 -1
  37. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/pyproject.toml +39 -39
  38. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/setup.cfg +4 -4
  39. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/setup.py +12 -12
  40. icsdatavalidation-0.0.1/PKG-INFO +0 -298
  41. icsdatavalidation-0.0.1/README.md +0 -277
  42. icsdatavalidation-0.0.1/icsDataValidation.egg-info/PKG-INFO +0 -298
  43. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/connection_setups/__init__.py +0 -0
  44. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/core/__init__.py +0 -0
  45. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/input_parameters/__init__.py +0 -0
  46. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/output_parameters/__init__.py +0 -0
  47. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/__init__.py +0 -0
  48. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/services/database_services/__init__.py +0 -0
  49. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation/utils/__init__.py +0 -0
  50. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation.egg-info/dependency_links.txt +0 -0
  51. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation.egg-info/requires.txt +0 -0
  52. {icsdatavalidation-0.0.1 → icsdatavalidation-1.0.419}/icsDataValidation.egg-info/top_level.txt +0 -0
@@ -1,3 +1,3 @@
1
- include README.md
2
- recursive-exclude examples *
3
-
1
+ include README.md
2
+ recursive-exclude examples *
3
+
@@ -0,0 +1,20 @@
1
+ Metadata-Version: 2.4
2
+ Name: icsDataValidation
3
+ Version: 1.0.419
4
+ Summary: Add your description here
5
+ Author-email: initions <ICSMC_EXT_PYPIORG@accenture.com>
6
+ License: MIT
7
+ Requires-Python: >=3.11
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: azure-storage-blob==12.13.1
10
+ Requires-Dist: boto3==1.26.154
11
+ Requires-Dist: cloe-util-snowflake-connector==1.0.5
12
+ Requires-Dist: databricks-sdk==0.29.0
13
+ Requires-Dist: databricks-sql-connector==3.0.1
14
+ Requires-Dist: numpy==1.26.3
15
+ Requires-Dist: oracledb==2.5.0
16
+ Requires-Dist: pandas==2.2.2
17
+ Requires-Dist: pyexasol==0.24.0
18
+ Requires-Dist: pyodbc
19
+ Requires-Dist: python-dotenv>=1.0.1
20
+ Requires-Dist: teradatasql==17.20.0.10
@@ -1,19 +1,19 @@
1
- import os
2
- from typing import Dict, List, Union
3
-
4
- import utils.file_util as file_util
5
-
6
- class icsDataValidationConfig(object):
7
- """
8
- Holds icsDataValidation config.
9
- """
10
-
11
- def __init__(self):
12
- """ """
13
- self.module_root_folder = os.path.abspath(
14
- os.path.join(os.path.dirname(__file__), "..")
15
- )
16
-
17
- self.config_path = os.environ.get("ICSDATAVALIDATION_CONFIG_PATH")
18
-
1
+ import os
2
+ from typing import Dict, List, Union
3
+
4
+ import utils.file_util as file_util
5
+
6
+ class icsDataValidationConfig(object):
7
+ """
8
+ Holds icsDataValidation config.
9
+ """
10
+
11
+ def __init__(self):
12
+ """ """
13
+ self.module_root_folder = os.path.abspath(
14
+ os.path.join(os.path.dirname(__file__), "..")
15
+ )
16
+
17
+ self.config_path = os.environ.get("ICSDATAVALIDATION_CONFIG_PATH")
18
+
19
19
  self.config_dict = file_util.load_json(self.config_path)
@@ -1,20 +1,20 @@
1
- import os
2
-
3
- from dotenv import load_dotenv
4
- from pathlib import Path
5
-
6
- #########################################################################################
7
- #########################################################################################
8
-
9
- def load_azure_credentials(system_configs:dict,system_selection:str)->dict:
10
-
11
- azure_params = {
12
- "Server" : system_configs[system_selection]["SERVER"],
13
- "Database" : system_configs[system_selection]["DATABASE"],
14
- "User" : system_configs[system_selection]["USER"],
15
- "Password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"]),
16
- "Driver" : system_configs[system_selection]["DRIVER"],
17
- "Port" : system_configs[system_selection]["PORT"],
18
- }
19
-
20
- return azure_params
1
+ import os
2
+
3
+ from dotenv import load_dotenv
4
+ from pathlib import Path
5
+
6
+ #########################################################################################
7
+ #########################################################################################
8
+
9
+ def load_azure_credentials(system_configs:dict,system_selection:str)->dict:
10
+
11
+ azure_params = {
12
+ "Server" : system_configs[system_selection]["SERVER"],
13
+ "Database" : system_configs[system_selection]["DATABASE"],
14
+ "User" : system_configs[system_selection]["USER"],
15
+ "Password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"]),
16
+ "Driver" : system_configs[system_selection]["DRIVER"],
17
+ "Port" : system_configs[system_selection]["PORT"],
18
+ }
19
+
20
+ return azure_params
@@ -1,28 +1,28 @@
1
- #########################################################################################
2
- #########################################################################################
3
-
4
- from databricks.sdk.core import Config, oauth_service_principal
5
- import os
6
-
7
- def load_databricks_credentials(database_configs: dict, system_selection: str) -> dict:
8
-
9
- if "DBX_ACCESS_TOKEN_NAME" in database_configs[system_selection]:
10
- # personal access token authentication
11
- access_token = os.getenv(database_configs[system_selection]["DBX_ACCESS_TOKEN_NAME"])
12
- else:
13
- # OAuth machine-to-machine (M2M) authentication
14
- ad_config = {
15
- "tenant_id": database_configs[system_selection]["TENANT_ID"],
16
- "client_id": database_configs[system_selection]["CLIENT_ID"],
17
- "client_secret": os.getenv(database_configs[system_selection]["CLIENT_SECRET"]),
18
- }
19
-
20
- access_token=oauth_service_principal(Config(ad_config))
21
-
22
- databricks_params = {
23
- "server_hostname": database_configs[system_selection]["SERVER_HOSTNAME"],
24
- "http_path": database_configs[system_selection]["CLUSTER_HTTP_PATH"],
25
- "access_token": access_token
26
- }
27
-
28
- return databricks_params
1
+ #########################################################################################
2
+ #########################################################################################
3
+
4
+ from databricks.sdk.core import Config, oauth_service_principal
5
+ import os
6
+
7
+ def load_databricks_credentials(database_configs: dict, system_selection: str) -> dict:
8
+
9
+ if "DBX_ACCESS_TOKEN_NAME" in database_configs[system_selection]:
10
+ # personal access token authentication
11
+ access_token = os.getenv(database_configs[system_selection]["DBX_ACCESS_TOKEN_NAME"])
12
+ else:
13
+ # OAuth machine-to-machine (M2M) authentication
14
+ ad_config = {
15
+ "tenant_id": database_configs[system_selection]["TENANT_ID"],
16
+ "client_id": database_configs[system_selection]["CLIENT_ID"],
17
+ "client_secret": os.getenv(database_configs[system_selection]["CLIENT_SECRET"]),
18
+ }
19
+
20
+ access_token=oauth_service_principal(Config(ad_config))
21
+
22
+ databricks_params = {
23
+ "server_hostname": database_configs[system_selection]["SERVER_HOSTNAME"],
24
+ "http_path": database_configs[system_selection]["CLUSTER_HTTP_PATH"],
25
+ "access_token": access_token
26
+ }
27
+
28
+ return databricks_params
@@ -1,17 +1,17 @@
1
- import os
2
-
3
- from dotenv import load_dotenv
4
- from pathlib import Path
5
-
6
- #########################################################################################
7
- #########################################################################################
8
-
9
- def load_exasol_credentials(system_configs:dict,system_selection:str)->dict:
10
-
11
- exasol_params = {
12
- "dsn" : system_configs[system_selection]["DSN"],
13
- "user" : system_configs[system_selection]["USER"],
14
- "password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"])
15
- }
16
-
1
+ import os
2
+
3
+ from dotenv import load_dotenv
4
+ from pathlib import Path
5
+
6
+ #########################################################################################
7
+ #########################################################################################
8
+
9
+ def load_exasol_credentials(system_configs:dict,system_selection:str)->dict:
10
+
11
+ exasol_params = {
12
+ "dsn" : system_configs[system_selection]["DSN"],
13
+ "user" : system_configs[system_selection]["USER"],
14
+ "password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"])
15
+ }
16
+
17
17
  return exasol_params
@@ -1,26 +1,26 @@
1
- import os
2
- import oracledb
3
-
4
- from dotenv import load_dotenv
5
- from pathlib import Path
6
-
7
- #########################################################################################
8
- #########################################################################################
9
-
10
- def load_oracle_credentials(system_configs:dict,system_selection:str)->dict:
11
-
12
- oracle_params = {
13
- "user" : system_configs[system_selection]["USERNAME"],
14
- "dsn" : system_configs[system_selection]["DSN"],
15
- "port" : system_configs[system_selection]["PORT"],
16
- "password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"])
17
- }
18
-
19
- if "SERVICE_NAME" in system_configs[system_selection]:
20
- oracle_params["service_name"] = system_configs[system_selection]["SERVICE_NAME"]
21
-
22
- if "MODE" in system_configs[system_selection]:
23
- mode = system_configs[system_selection]["MODE"]
24
- oracle_params["mode"] = getattr(oracledb, mode)
25
-
1
+ import os
2
+ import oracledb
3
+
4
+ from dotenv import load_dotenv
5
+ from pathlib import Path
6
+
7
+ #########################################################################################
8
+ #########################################################################################
9
+
10
+ def load_oracle_credentials(system_configs:dict,system_selection:str)->dict:
11
+
12
+ oracle_params = {
13
+ "user" : system_configs[system_selection]["USERNAME"],
14
+ "dsn" : system_configs[system_selection]["DSN"],
15
+ "port" : system_configs[system_selection]["PORT"],
16
+ "password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"])
17
+ }
18
+
19
+ if "SERVICE_NAME" in system_configs[system_selection]:
20
+ oracle_params["service_name"] = system_configs[system_selection]["SERVICE_NAME"]
21
+
22
+ if "MODE" in system_configs[system_selection]:
23
+ mode = system_configs[system_selection]["MODE"]
24
+ oracle_params["mode"] = getattr(oracledb, mode)
25
+
26
26
  return oracle_params
@@ -1,35 +1,35 @@
1
- import os
2
-
3
- from cloe_util_snowflake_connector.connection_parameters import ConnectionParameters, EnvVariablesInitializer
4
-
5
- #########################################################################################
6
- #########################################################################################
7
-
8
-
9
- def load_snowflake_credentials(system_configs: dict, system_selection: str) -> ConnectionParameters:
10
- snowflake_params = EnvVariablesInitializer(
11
- user=system_configs[system_selection]["USER"],
12
- account=system_configs[system_selection]["ACCOUNT"],
13
- warehouse=system_configs[system_selection]["WAREHOUSE"],
14
- database=system_configs[system_selection]["DATABASE"],
15
- role=system_configs[system_selection]["ROLE"],
16
- password=os.getenv(system_configs[system_selection]["PASSWORD_NAME"])
17
- if "PASSWORD_NAME" in system_configs[system_selection]
18
- else None,
19
- private_key=os.getenv(system_configs[system_selection]["PRIVATE_KEY_NAME"])
20
- if "PRIVATE_KEY_NAME" in system_configs[system_selection]
21
- else None,
22
- private_key_passphrase=os.getenv(system_configs[system_selection]["PRIVATE_KEY_PASSPHRASE_NAME"])
23
- if "PRIVATE_KEY_PASSPHRASE_NAME" in system_configs[system_selection]
24
- else None,
25
- private_key_file=os.getenv(system_configs[system_selection]["PRIVATE_KEY_FILE_PATH"])
26
- if "PRIVATE_KEY_FILE_PATH" in system_configs[system_selection]
27
- else None,
28
- private_key_file_pwd=os.getenv(system_configs[system_selection]["PRIVATE_KEY_FILE_PASSWORD"])
29
- if "PRIVATE_KEY_FILE_PASSWORD" in system_configs[system_selection]
30
- else None,
31
- )
32
-
33
- connection_params = ConnectionParameters(**snowflake_params.model_dump())
34
-
35
- return connection_params
1
+ import os
2
+
3
+ from cloe_util_snowflake_connector.connection_parameters import ConnectionParameters, EnvVariablesInitializer
4
+
5
+ #########################################################################################
6
+ #########################################################################################
7
+
8
+
9
+ def load_snowflake_credentials(system_configs: dict, system_selection: str) -> ConnectionParameters:
10
+ snowflake_params = EnvVariablesInitializer(
11
+ user=system_configs[system_selection]["USER"],
12
+ account=system_configs[system_selection]["ACCOUNT"],
13
+ warehouse=system_configs[system_selection]["WAREHOUSE"],
14
+ database=system_configs[system_selection]["DATABASE"],
15
+ role=system_configs[system_selection]["ROLE"],
16
+ password=os.getenv(system_configs[system_selection]["PASSWORD_NAME"])
17
+ if "PASSWORD_NAME" in system_configs[system_selection]
18
+ else None,
19
+ private_key=os.getenv(system_configs[system_selection]["PRIVATE_KEY_NAME"])
20
+ if "PRIVATE_KEY_NAME" in system_configs[system_selection]
21
+ else None,
22
+ private_key_passphrase=os.getenv(system_configs[system_selection]["PRIVATE_KEY_PASSPHRASE_NAME"])
23
+ if "PRIVATE_KEY_PASSPHRASE_NAME" in system_configs[system_selection]
24
+ else None,
25
+ private_key_file=os.getenv(system_configs[system_selection]["PRIVATE_KEY_FILE_PATH"])
26
+ if "PRIVATE_KEY_FILE_PATH" in system_configs[system_selection]
27
+ else None,
28
+ private_key_file_pwd=os.getenv(system_configs[system_selection]["PRIVATE_KEY_FILE_PASSWORD"])
29
+ if "PRIVATE_KEY_FILE_PASSWORD" in system_configs[system_selection]
30
+ else None,
31
+ )
32
+
33
+ connection_params = ConnectionParameters(**snowflake_params.model_dump())
34
+
35
+ return connection_params
@@ -1,20 +1,20 @@
1
- import os
2
-
3
- from dotenv import load_dotenv
4
- from pathlib import Path
5
-
6
- #########################################################################################
7
- #########################################################################################
8
-
9
- def load_sqlserver_credentials(system_configs:dict,system_selection:str)->dict:
10
-
11
- sqlserver_params = {
12
- "Server" : system_configs[system_selection]["SERVER"],
13
- "Database" : system_configs[system_selection]["DATABASE"],
14
- "User" : system_configs[system_selection]["USER"],
15
- "Password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"]),
16
- "Driver" : system_configs[system_selection]["DRIVER"],
17
- "Port" : system_configs[system_selection]["PORT"],
18
- }
19
-
20
- return sqlserver_params
1
+ import os
2
+
3
+ from dotenv import load_dotenv
4
+ from pathlib import Path
5
+
6
+ #########################################################################################
7
+ #########################################################################################
8
+
9
+ def load_sqlserver_credentials(system_configs:dict,system_selection:str)->dict:
10
+
11
+ sqlserver_params = {
12
+ "Server" : system_configs[system_selection]["SERVER"],
13
+ "Database" : system_configs[system_selection]["DATABASE"],
14
+ "User" : system_configs[system_selection]["USER"],
15
+ "Password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"]),
16
+ "Driver" : system_configs[system_selection]["DRIVER"],
17
+ "Port" : system_configs[system_selection]["PORT"],
18
+ }
19
+
20
+ return sqlserver_params
@@ -1,18 +1,18 @@
1
- import os
2
-
3
- from dotenv import load_dotenv
4
- from pathlib import Path
5
-
6
- #########################################################################################
7
- #########################################################################################
8
-
9
- def load_teradata_credentials(system_configs:dict,system_selection:str)->dict:
10
-
11
- teradata_params = {
12
- "host" : system_configs[system_selection]["HOST"],
13
- "user" : system_configs[system_selection]["USER"],
14
- "password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"]),
15
- "dbs_port" : '1025'
16
- }
17
-
1
+ import os
2
+
3
+ from dotenv import load_dotenv
4
+ from pathlib import Path
5
+
6
+ #########################################################################################
7
+ #########################################################################################
8
+
9
+ def load_teradata_credentials(system_configs:dict,system_selection:str)->dict:
10
+
11
+ teradata_params = {
12
+ "host" : system_configs[system_selection]["HOST"],
13
+ "user" : system_configs[system_selection]["USER"],
14
+ "password" : os.getenv(system_configs[system_selection]["PASSWORD_NAME"]),
15
+ "dbs_port" : '1025'
16
+ }
17
+
18
18
  return teradata_params
@@ -1,18 +1,18 @@
1
- from enum import Enum
2
-
3
- class DatabaseObjectType(Enum):
4
- """
5
- Enum for valid database object types
6
- """
7
-
8
- TABLE = "table"
9
- VIEW = "view"
10
-
11
- class DatabaseObject():
12
- def __init__(self, object_identifier: str, object_type: DatabaseObjectType):
13
- self.identifier = object_identifier
14
- self.database = object_identifier.split(".",2)[0]
15
- self.schema = object_identifier.split(".",2)[1]
16
- self.name = object_identifier.split(".",2)[2]
17
- self.type = object_type
1
+ from enum import Enum
2
+
3
+ class DatabaseObjectType(Enum):
4
+ """
5
+ Enum for valid database object types
6
+ """
7
+
8
+ TABLE = "table"
9
+ VIEW = "view"
10
+
11
+ class DatabaseObject():
12
+ def __init__(self, object_identifier: str, object_type: DatabaseObjectType):
13
+ self.identifier = object_identifier
14
+ self.database = object_identifier.split(".",2)[0]
15
+ self.schema = object_identifier.split(".",2)[1]
16
+ self.name = object_identifier.split(".",2)[2]
17
+ self.type = object_type
18
18