Ejemplo n.º 1
0
 def test_should_return_correct_plan_tree_for_input_logical_tree(self):
     logical_plan = LogicalLoadData('metainfo', 'path')
     plan = PlanGenerator().build(logical_plan)
     self.assertIsInstance(plan, LoadDataPlan)
     self.assertEqual(plan.table_metainfo, 'metainfo')
     self.assertEqual(plan.file_path, 'path')
     
Ejemplo n.º 2
0
    def visit_load_data(self, statement: LoadDataStatement):
        """Convertor for parsed load data statement
        If the input table already exists we return its
        metadata. Else we will create a new metadata object for this
        table name.
        Arguments:
            statement(LoadDataStatement): [Load data statement]
        """
        table = statement.table
        table_metainfo = bind_dataset(table.table_info)
        if table_metainfo is None:
            # Create a new metadata object
            table_metainfo = create_video_metadata(table.table_info.table_name)

        load_data_opr = LogicalLoadData(table_metainfo, statement.path)
        self._plan = load_data_opr
Ejemplo n.º 3
0
 def test_should_return_false_for_unequal_plans(self):
     create_plan = LogicalCreate(TableRef(TableInfo('video')),
                                 [MagicMock()])
     create_udf_plan = LogicalCreateUDF('udf', False, None, None, None)
     insert_plan = LogicalInsert(MagicMock(), 0, [MagicMock()],
                                 [MagicMock()])
     query_derived_plan = LogicalQueryDerivedGet()
     load_plan = LogicalLoadData(MagicMock(), MagicMock())
     self.assertEqual(create_plan, create_plan)
     self.assertEqual(create_udf_plan, create_udf_plan)
     self.assertNotEqual(create_plan, create_udf_plan)
     self.assertNotEqual(create_udf_plan, create_plan)
     create_plan.append_child(create_udf_plan)
     self.assertNotEqual(create_plan, create_udf_plan)
     self.assertNotEqual(query_derived_plan, create_plan)
     self.assertNotEqual(insert_plan, query_derived_plan)
     self.assertNotEqual(load_plan, insert_plan)
Ejemplo n.º 4
0
 def test_should_Call_load_data_generator(self, mock):
     mock_instance = mock.return_value
     l_load_Data = LogicalLoadData('meta_info', 'path')
     PlanGenerator().build(l_load_Data)
     mock_instance.build.assert_called_with(l_load_Data)