def get_database_name_out_of_ddl(ddl):
     clean_ddl = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(ddl)
     if clean_ddl.upper().startswith('CREATE DATABASE "'):
         return SQLTextHelper.get_first_double_quoted_identifier(clean_ddl)
     elif clean_ddl.upper().startswith('CREATE DATABASE '):
         database_name = clean_ddl.split(' ')[2]
     else:
         raise DDLTransformer.UnsupportedDDLForTransformationException(clean_ddl)
     return database_name
Ejemplo n.º 2
0
 def __init__(self, path_to_v_generate, view_start):
     logging.debug('From {cwd} open v_generate {path}'.format(
         cwd=os.getcwd(), path=path_to_v_generate))
     with open(path_to_v_generate, 'r') as v_generate:
         self.view_sql = v_generate.read()
     self.view_sql = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(
         self.view_sql)
     if self.view_sql.startswith(view_start):
         self.view_query_sql = self.view_sql[len(view_start):]
     self.filter_sql = ''
 def __init__(self, path_to_v_generate, view_start):
     logging.debug('From {cwd} open v_generate {path}'.format(
         cwd=os.getcwd(),
         path=path_to_v_generate
     ))
     with open(path_to_v_generate, 'r') as v_generate:
         self.view_sql = v_generate.read()
     self.view_sql = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(self.view_sql)
     if self.view_sql.startswith(view_start):
         self.view_query_sql = self.view_sql[len(view_start):]
     self.filter_sql = ''
Ejemplo n.º 4
0
 def get_database_name_out_of_ddl(ddl):
     clean_ddl = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(
         ddl)
     if clean_ddl.upper().startswith('CREATE DATABASE "'):
         return SQLTextHelper.get_first_double_quoted_identifier(clean_ddl)
     elif clean_ddl.upper().startswith('CREATE DATABASE '):
         database_name = clean_ddl.split(' ')[2]
     else:
         raise DDLTransformer.UnsupportedDDLForTransformationException(
             clean_ddl)
     return database_name
 def get_ddl_for_different_relation(ddl, new_table_name=None, new_schema_name=None):
     logging.debug('Transforming ddl: {ddl}'.format(ddl=ddl))
     clean_ddl = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(ddl)
     if clean_ddl.upper().startswith('CREATE TABLE IF NOT EXISTS '):
         return TableDDLTransformer.get_create_table_ddl_for_different_relation(
             clean_ddl,
             new_table_name=new_table_name,
             new_schema_name=new_schema_name
         )
     elif clean_ddl.upper().startswith('CREATE SCHEMA '):
         return SchemaDDLTransformer.get_create_schema_ddl_for_different_relation(
             clean_ddl,
             new_schema_name=new_schema_name
         )
     raise DDLTransformer.UnsupportedDDLForTransformationException(clean_ddl)
Ejemplo n.º 6
0
 def get_create_sql(self, generate=False):
     logging.debug('get_create_sql for {self}'.format(self=self))
     if generate:
         ddl_dict = self.get_cluster().get_query_full_result_as_list_of_dict(
             self.get_statement_to_retrieve_ddl_create_statement_text()
         )
         ddl = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(
             '\n'.join([r['ddl'] for r in ddl_dict])
         )
         self.create_sql = ddl
         return ddl
     else:
         if self.create_sql is not None:
             return self.create_sql
         else:
             raise Resource.CreateSQLNotSet('No create sql configured for resource {r}'.format(r=str(self)))
Ejemplo n.º 7
0
 def get_ddl_for_different_relation(ddl,
                                    new_table_name=None,
                                    new_schema_name=None):
     logging.debug('Transforming ddl: {ddl}'.format(ddl=ddl))
     clean_ddl = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(
         ddl)
     if clean_ddl.upper().startswith('CREATE TABLE IF NOT EXISTS '):
         return TableDDLTransformer.get_create_table_ddl_for_different_relation(
             clean_ddl,
             new_table_name=new_table_name,
             new_schema_name=new_schema_name)
     elif clean_ddl.upper().startswith('CREATE SCHEMA '):
         return SchemaDDLTransformer.get_create_schema_ddl_for_different_relation(
             clean_ddl, new_schema_name=new_schema_name)
     raise DDLTransformer.UnsupportedDDLForTransformationException(
         clean_ddl)
Ejemplo n.º 8
0
 def get_create_sql(self, generate=False):
     logging.debug('get_create_sql for {self}'.format(self=self))
     if generate:
         ddl_dict = self.get_cluster(
         ).get_query_full_result_as_list_of_dict(
             self.get_statement_to_retrieve_ddl_create_statement_text())
         ddl = SQLTextHelper.get_sql_without_commands_newlines_and_whitespace(
             '\n'.join([r['ddl'] for r in ddl_dict]))
         self.create_sql = ddl
         return ddl
     else:
         if self.create_sql is not None:
             return self.create_sql
         else:
             raise Resource.CreateSQLNotSet(
                 'No create sql configured for resource {r}'.format(
                     r=str(self)))