Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
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
Пример #4
0
    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, []))
Пример #5
0
    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))