def test_table_from_descriptor(self): from pyflink.table.schema import Schema schema = Schema.new_builder().column("f0", DataTypes.INT()).build() descriptor = TableDescriptor.for_connector("fake").schema( schema).build() table = self.t_env.from_descriptor(descriptor) self.assertEqual( schema, Schema(Schema.new_builder()._j_builder.fromResolvedSchema( table._j_table.getResolvedSchema()).build())) table = CatalogBaseTable( self.t_env._j_tenv.getCatalogManager().getTable( table._j_table.getQueryOperation().getTableIdentifier()).get( ).getTable()) self.assertEqual("fake", table.get_options().get("connector"))
def test_create_table_from_descriptor(self): from pyflink.table.schema import Schema catalog = self.t_env.get_current_catalog() database = self.t_env.get_current_database() schema = Schema.new_builder().column("f0", DataTypes.INT()).build() self.t_env.create_table( "T", TableDescriptor.for_connector("fake").schema(schema).option( "a", "Test").build()) object_path = ObjectPath(database, "T") self.assertTrue( self.t_env.get_catalog(catalog).table_exists(object_path)) catalog_table = self.t_env.get_catalog(catalog).get_table(object_path) self.assertEqual(schema, catalog_table.get_unresolved_schema()) self.assertEqual("fake", catalog_table.get_options().get("connector")) self.assertEqual("Test", catalog_table.get_options().get("a"))
def test_create_temporary_table_from_descriptor(self): from pyflink.table.schema import Schema t_env = self.t_env catalog = t_env.get_current_catalog() database = t_env.get_current_database() schema = Schema.new_builder().column("f0", DataTypes.INT()).build() t_env.create_temporary_table( "T", TableDescriptor.for_connector("fake").schema(schema).option( "a", "Test").build()) self.assertFalse( t_env.get_catalog(catalog).table_exists(ObjectPath(database, "T"))) gateway = get_gateway() catalog_table = CatalogBaseTable( t_env._j_tenv.getCatalogManager().getTable( gateway.jvm.ObjectIdentifier.of(catalog, database, "T")).get().getTable()) self.assertEqual(schema, catalog_table.get_unresolved_schema()) self.assertEqual("fake", catalog_table.get_options().get("connector")) self.assertEqual("Test", catalog_table.get_options().get("a"))