Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
context.resources.conn.commit()
@sqlite_table(
input_tables=[input_table('table_one', TableOne), input_table('table_two', TableTwo)]
)
def TableThree(context, **_kwargs):
context.resources.conn.execute(
'CREATE TABLE TableThree AS SELECT num from TableOne UNION SELECT num from TableTwo'
)
context.resources.conn.commit()
conn = sqlite3.connect(':memory:')
pipeline_def = construct_lakehouse_pipeline(
name='sqllite_lakehouse_pipeline',
lakehouse_tables=[TableOne, TableTwo, TableThree],
resources={'conn': conn, 'lakehouse': SqlLiteLakehouse()},
)
result = execute_pipeline(pipeline_def)
assert result.success
assert conn.cursor().execute('SELECT * FROM TableThree').fetchall() == [(1,), (2,)]
return file_relative_path(
__file__, 'basic_sqllite_test_files/{table_name}.sql'.format(table_name=table_name)
)
TableOne = create_sqllite_table_from_file(path_for_table('TableOne'))
TableTwo = create_sqllite_table_from_file(path_for_table('TableTwo'))
TableThree = create_sqllite_table_from_file(
path_for_table('TableThree'),
input_tables=[input_table('table_one', TableOne), input_table('table_two', TableTwo)],
)
conn = sqlite3.connect(':memory:')
pipeline_def = construct_lakehouse_pipeline(
name='sqllite_lakehouse_pipeline',
lakehouse_tables=[TableOne, TableTwo, TableThree],
resources={'conn': conn, 'lakehouse': SqlLiteLakehouse()},
)
result = execute_pipeline(pipeline_def)
assert result.success
assert conn.cursor().execute('SELECT * FROM TableThree').fetchall() == [(1,), (2,)]