feat(SIP-95): new endpoint for table metadata (#28122)

This commit is contained in:
Beto Dealmeida
2024-04-25 12:23:49 -04:00
committed by GitHub
parent 52f8734662
commit 6cf681df68
71 changed files with 1048 additions and 513 deletions

View File

@@ -29,12 +29,13 @@ from uuid import uuid4
import sqlalchemy.sql.sqltypes
import sqlalchemy_utils
from flask_appbuilder import Model
from sqlalchemy import Column, inspect, MetaData, Table
from sqlalchemy import Column, inspect, MetaData, Table as DBTable
from sqlalchemy.dialects import postgresql
from sqlalchemy.sql import func
from sqlalchemy.sql.visitors import VisitableType
from superset import db
from superset.sql_parse import Table
logger = logging.getLogger(__name__)
@@ -182,7 +183,7 @@ def add_data(
from superset.utils.database import get_example_database
database = get_example_database()
table_exists = database.has_table_by_name(table_name)
table_exists = database.has_table(Table(table_name))
with database.get_sqla_engine() as engine:
if columns is None:
@@ -198,7 +199,7 @@ def add_data(
# create table if needed
column_objects = get_column_objects(columns)
metadata = MetaData()
table = Table(table_name, metadata, *column_objects)
table = DBTable(table_name, metadata, *column_objects)
metadata.create_all(engine)
if not append: