def bind_tuple_value_expr(expr: 'AbstractExpression'): catalog = CatalogManager() table_id, column_ids = catalog.get_table_bindings(None, expr.table_name, expr.col_name) expr.table_metadata_id = table_id expr.col_metadata_id = column_ids.pop()
def _old_bind_tuple_value_expr(expr): """ NOTE: No tests for this should be combined with latest interface """ catalog = CatalogManager() table_id, column_ids = catalog.get_table_bindings(None, expr.table_name, [expr.col_name]) expr.table_metadata_id = table_id if not isinstance(column_ids, list) or len(column_ids) == 0: LoggingManager().log( "Optimizer Utils:: bind_tuple_expr: \ Cannot bind column name provided", LoggingLevel.ERROR) expr.col_metadata_id = column_ids.pop()
def bind_table_ref(video_info: TableInfo) -> int: """Grab the metadata id from the catalog for input video Arguments: video_info {TableInfo} -- [input parsed video info] Return: catalog_entry for input table """ catalog = CatalogManager() catalog_entry_id, _ = catalog.get_table_bindings(video_info.database_name, video_info.table_name, None) return catalog_entry_id
def test_table_binding_without_columns_returns_no_column_ids( self, dcs_mock, ds_mock, initdb_mock): catalog = CatalogManager() dataset_name = "name" database_name = "database" actual = catalog.get_table_bindings(database_name, dataset_name) ds_dataset_name_mock = ds_mock.return_value.dataset_by_name ds_dataset_name_mock.assert_called_with(dataset_name) column_values_mock = \ dcs_mock.return_value.columns_by_dataset_id_and_names column_values_mock.assert_not_called() self.assertEqual(actual, (ds_dataset_name_mock.return_value, []))
def test_table_binding_returns_metadata_and_column_ids( self, dcs_mock, ds_mock, initdb_mock): catalog = CatalogManager() dataset_name = "name" columns = ["column1", "column2"] database_name = "database" actual = catalog.get_table_bindings(database_name, dataset_name, columns) ds_dataset_name_mock = ds_mock.return_value.dataset_by_name ds_dataset_name_mock.assert_called_with(dataset_name) column_values_mock = \ dcs_mock.return_value.columns_by_dataset_id_and_names column_values_mock.assert_called_with( ds_dataset_name_mock.return_value, columns) self.assertEqual(actual, (ds_dataset_name_mock.return_value, column_values_mock.return_value))