Skip to content

Superset app crashes when requesting tables from example database in add dataset view #34078

@apabolleta

Description

@apabolleta

Bug description

The bug is that when trying to create a dataset from a table in examples database, in the add dataset view, the Table select control shows "No data" and Superset app logs go out of control showing an error on database query.

The steps to reproduce the error:

  1. Checkout to the master branch and run docker compose with the default configuration.
  2. Wait for the initialization to complete.
  3. Browse localhost in a browser and log in.
  4. Navigate to Datasets and click on "Add Dataset".
  5. Select Database "postgresql examples" and schema "public".

The expected result is to select a table to create a dataset in the Table selector, but appears to be empty.

Screenshots/recordings

Empty Table selector

Image

Console logs

Image

Superset version

master / latest-dev

Python version

3.11

Node version

17

Browser

Chrome

Additional context

superset_app | 2025-07-05 22:56:31,620:WARNING:root:Filter exception for SqlaTable.database with value postgresql-examples-1, will not apply
superset_app | 2025-07-05 22:56:31,622:ERROR:superset.views.error_handling:ApplyFilterException: DataError
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | psycopg2.errors.InvalidTextRepresentation: invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'
superset_app | ^
superset_app |
superset_app |
superset_app | The above exception was the direct cause of the following exception:
superset_app |
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/filters.py", line 219, in apply
superset_app | rel_obj = self.datamodel.get_related_obj(self.column_name, value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 886, in get_related_obj
superset_app | return self.session.query(rel_model).get(value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_db | 2025-07-05 22:56:31.645 UTC [127] ERROR: invalid input syntax for type integer: "postgresql-examples-1" at character 1059
superset_app | File "", line 2, in get
superset_db | 2025-07-05 22:56:31.645 UTC [127] STATEMENT: SELECT dbs.uuid AS dbs_uuid, dbs.created_on AS dbs_created_on, dbs.changed_on AS dbs_changed_on, dbs.id AS dbs_id, dbs.verbose_name AS dbs_verbose_name, dbs.database_name AS dbs_database_name, dbs.sqlalchemy_uri AS dbs_sqlalchemy_uri, dbs.password AS dbs_password, dbs.cache_timeout AS dbs_cache_timeout, dbs.select_as_create_table_as AS dbs_select_as_create_table_as, dbs.expose_in_sqllab AS dbs_expose_in_sqllab, dbs.configuration_method AS dbs_configuration_method, dbs.allow_run_async AS dbs_allow_run_async, dbs.allow_file_upload AS dbs_allow_file_upload, dbs.allow_ctas AS dbs_allow_ctas, dbs.allow_cvas AS dbs_allow_cvas, dbs.allow_dml AS dbs_allow_dml, dbs.force_ctas_schema AS dbs_force_ctas_schema, dbs.extra AS dbs_extra, dbs.encrypted_extra AS dbs_encrypted_extra, dbs.impersonate_user AS dbs_impersonate_user, dbs.server_cert AS dbs_server_cert, dbs.is_managed_externally AS dbs_is_managed_externally, dbs.external_url AS dbs_external_url, dbs.created_by_fk AS dbs_created_by_fk, dbs.changed_by_fk AS dbs_changed_by_fk
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py", line 468, in warned
superset_db | FROM dbs
superset_app | return fn(*args, **kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 947, in get
superset_app | return self._get_impl(ident, loading.load_on_pk_identity)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_db | WHERE dbs.id = 'postgresql-examples-1'
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 951, in _get_impl
superset_app | return self.session._get_impl(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2975, in _get_impl
superset_app | return db_load_fn(
superset_app | ^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/loading.py", line 530, in load_on_pk_identity
superset_app | session.execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
superset_app | result = conn._execute_20(statement, params or {}, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
superset_app | return meth(self, args_10style, kwargs_10style, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
superset_app | return connection._execute_clauseelement(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
superset_app | ret = self._execute_context(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1953, in _execute_context
superset_app | self.handle_dbapi_exception(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2134, in handle_dbapi_exception
superset_app | util.raise
(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 211, in raise

superset_app | raise exception
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'
superset_app | ^
superset_app |
superset_app | [SQL: SELECT dbs.uuid AS dbs_uuid, dbs.created_on AS dbs_created_on, dbs.changed_on AS dbs_changed_on, dbs.id AS dbs_id, dbs.verbose_name AS dbs_verbose_name, dbs.database_name AS dbs_database_name, dbs.sqlalchemy_uri AS dbs_sqlalchemy_uri, dbs.password AS dbs_password, dbs.cache_timeout AS dbs_cache_timeout, dbs.select_as_create_table_as AS dbs_select_as_create_table_as, dbs.expose_in_sqllab AS dbs_expose_in_sqllab, dbs.configuration_method AS dbs_configuration_method, dbs.allow_run_async AS dbs_allow_run_async, dbs.allow_file_upload AS dbs_allow_file_upload, dbs.allow_ctas AS dbs_allow_ctas, dbs.allow_cvas AS dbs_allow_cvas, dbs.allow_dml AS dbs_allow_dml, dbs.force_ctas_schema AS dbs_force_ctas_schema, dbs.extra AS dbs_extra, dbs.encrypted_extra AS dbs_encrypted_extra, dbs.impersonate_user AS dbs_impersonate_user, dbs.server_cert AS dbs_server_cert, dbs.is_managed_externally AS dbs_is_managed_externally, dbs.external_url AS dbs_external_url, dbs.created_by_fk AS dbs_created_by_fk, dbs.changed_by_fk AS dbs_changed_by_fk
superset_app | FROM dbs
superset_app | WHERE dbs.id = %(pk_1)s]
superset_app | [parameters: {'pk_1': 'postgresql-examples-1'}]
superset_app | (Background on this error at: https://sqlalche.me/e/14/9h9h)
superset_app |
superset_app | During handling of the above exception, another exception occurred:
superset_app |
superset_app | Traceback (most recent call last):
superset_app | File "/app/superset/views/error_handling.py", line 101, in wraps
superset_app | return f(self, *args, **kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/superset/views/base_api.py", line 487, in get_list_headless
superset_app | duration, response = time_function(super().get_list_headless, **kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/superset/utils/core.py", line 1372, in time_function
superset_app | response = func(*args, **kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/api/init.py", line 1628, in get_list_headless
superset_app | count, lst = self.datamodel.query(
superset_app | ^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 501, in query
superset_app | count = self.query_count(query, filters, select_columns)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 406, in query_count
superset_app | return self._apply_inner_all(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 388, in _apply_inner_all
superset_app | query = self.apply_filters(query, inner_filters)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 225, in apply_filters
superset_app | return filters.apply_all(query)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/filters.py", line 302, in apply_all
superset_app | query = flt.apply(query, values)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/filters.py", line 229, in apply
superset_app | raise ApplyFilterException(exception=exc)
superset_app | flask_appbuilder.exceptions.ApplyFilterException: ApplyFilterException: DataError
superset_app | 2025-07-05 22:56:31,646:WARNING:root:Filter exception for SqlaTable.database with value postgresql-examples-1, will not apply
superset_app | 2025-07-05 22:56:31,648:ERROR:superset.views.error_handling:ApplyFilterException: DataError
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | psycopg2.errors.InvalidTextRepresentation: invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'
superset_app | ^
superset_app |
superset_app |
superset_app | The above exception was the direct cause of the following exception:
superset_app |
superset_app | Traceback (most recent call last):
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/filters.py", line 219, in apply
superset_app | rel_obj = self.datamodel.get_related_obj(self.column_name, value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/flask_appbuilder/models/sqla/interface.py", line 886, in get_related_obj
superset_app | return self.session.query(rel_model).get(value)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "", line 2, in get
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/deprecations.py", line 468, in warned
superset_app | return fn(*args, **kwargs)
superset_app | ^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 947, in get
superset_app | return self._get_impl(ident, loading.load_on_pk_identity)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/query.py", line 951, in _get_impl
superset_app | return self.session._get_impl(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 2975, in _get_impl
superset_app | return db_load_fn(
superset_app | ^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/loading.py", line 530, in load_on_pk_identity
superset_app | session.execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1717, in execute
superset_app | result = conn._execute_20(statement, params or {}, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1710, in _execute_20
superset_app | return meth(self, args_10style, kwargs_10style, execution_options)
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
superset_app | return connection._execute_clauseelement(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1577, in _execute_clauseelement
superset_app | ret = self._execute_context(
superset_app | ^^^^^^^^^^^^^^^^^^^^^^
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1953, in _execute_context
superset_app | self.handle_dbapi_exception(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2134, in handle_dbapi_exception
superset_app | util.raise
(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 211, in raise

superset_app | raise exception
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1910, in _execute_context
superset_app | self.dialect.do_execute(
superset_app | File "/app/.venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
superset_app | cursor.execute(statement, parameters)
superset_app | sqlalchemy.exc.DataError: (psycopg2.errors.InvalidTextRepresentation) invalid input syntax for type integer: "postgresql-examples-1"
superset_app | LINE 3: WHERE dbs.id = 'postgresql-examples-1'

Checklist

  • I have searched Superset docs and Slack and didn't find a solution to my problem.
  • I have searched the GitHub issue tracker and didn't find a similar bug report.
  • I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions