jawher-soudani opened a new issue #14458:
URL: https://github.com/apache/superset/issues/14458


   I'm facing this problem whenever I try to add a dataset from a presto engine
   **superset_app            | psycopg2.errors.StringDataRightTruncation: value 
too long for type character varying(32)**
   
   Here is a detailed log: 
   
   ```
   (Background on this error at: http://sqlalche.me/e/13/9h9h)
   superset_app            | Error creating model DatasetRestApi: Dataset could 
not be created.
   superset_app            | Traceback (most recent call last):
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1277, 
in _execute_context
   superset_app            |     cursor, statement, parameters, context
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 
593, in do_execute
   superset_app            |     cursor.execute(statement, parameters)
   superset_app            | psycopg2.errors.StringDataRightTruncation: value 
too long for type character varying(32)
   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/superset/datasets/commands/create.py", line 52, in run
   superset_app            |     dataset.fetch_metadata(commit=False)
   superset_app            |   File "/app/superset/connectors/sqla/models.py", 
line 1538, in fetch_metadata
   superset_app            |     self.add_missing_metrics(metrics)
   superset_app            |   File "/app/superset/connectors/base/models.py", 
line 194, in add_missing_metrics
   superset_app            |     existing_metrics = {m.metric_name for m in 
self.metrics}
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
287, in __get__
   superset_app            |     return self.impl.get(instance_state(instance), 
dict_)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/attributes.py", line 
723, in get
   superset_app            |     value = self.callable_(state, passive)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
760, in _load_for_state
   superset_app            |     session, state, primary_key_identity, passive
   superset_app            |   File "<string>", line 1, in <lambda>
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/strategies.py", line 
902, in _emit_lazyload
   superset_app            |     .with_post_criteria(set_default_params)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/ext/baked.py", line 544, in 
all
   superset_app            |     return list(self)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/ext/baked.py", line 439, in 
__iter__
   superset_app            |     self.session._autoflush()
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1629, 
in _autoflush
   superset_app            |     util.raise_(e, 
with_traceback=sys.exc_info()[2])
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 182, 
in raise_
   superset_app            |     raise exception
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1618, 
in _autoflush
   superset_app            |     self.flush()
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2536, 
in flush
   superset_app            |     self._flush(objects)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2678, 
in _flush
   superset_app            |     transaction.rollback(_capture_exception=True)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/util/langhelpers.py", line 
70, in __exit__
   superset_app            |     with_traceback=exc_tb,
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 182, 
in raise_
   superset_app            |     raise exception
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 2638, 
in _flush
   superset_app            |     flush_context.execute()
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 
422, in execute
   superset_app            |     rec.execute(self)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/unitofwork.py", line 
589, in execute
   superset_app            |     uow,
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 
245, in save_obj
   superset_app            |     insert,
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py", line 
1136, in _emit_insert_statements
   superset_app            |     statement, params
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1011, 
in execute
   superset_app            |     return meth(self, multiparams, params)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 298, 
in _execute_on_connection
   superset_app            |     return connection._execute_clauseelement(self, 
multiparams, params)
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1130, 
in _execute_clauseelement
   superset_app            |     distilled_params,
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1317, 
in _execute_context
   superset_app            |     e, statement, parameters, cursor, context
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1511, 
in _handle_dbapi_exception
   superset_app            |     sqlalchemy_exception, 
with_traceback=exc_info[2], from_=e
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 182, 
in raise_
   superset_app            |     raise exception
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1277, 
in _execute_context
   superset_app            |     cursor, statement, parameters, context
   superset_app            |   File 
"/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 
593, in do_execute
   superset_app            |     cursor.execute(statement, parameters)
   superset_app            | sqlalchemy.exc.DataError: (raised as a result of 
Query-invoked autoflush; consider using a session.no_autoflush block if this 
flush is occurring prematurely)
   superset_app            | (psycopg2.errors.StringDataRightTruncation) value 
too long for type character varying(32)
   superset_app            | 
   superset_app            | [SQL: INSERT INTO table_columns (uuid, created_on, 
changed_on, column_name, verbose_name, is_active, type, groupby, filterable, 
description, table_id, is_dttm, expression, python_date_format, created_by_fk, 
changed_by_fk) VALUES (%(uuid)s, %(created_on)s, %(changed_on)s, 
%(column_name)s, %(verbose_name)s, %(is_active)s, %(type)s, %(groupby)s, 
%(filterable)s, %(description)s, %(table_id)s, %(is_dttm)s, %(expression)s, 
%(python_date_format)s, %(created_by_fk)s, %(changed_by_fk)s) RETURNING 
table_columns.id]
   superset_app            | [parameters: {'uuid': 
UUID('de602348-5aba-4521-88d1-5c0871667490'), 'created_on': 
datetime.datetime(2021, 5, 4, 10, 52, 48, 305161), 'changed_on': 
datetime.datetime(2021, 5, 4, 10, 52, 48, 305169), 'column_name': 'event_time', 
'verbose_name': None, 'is_active': True, 'type': "<class 
'superset.models.sql_types.base.literal_dttm_type_factory.<locals>.TemporalWrapperType'>",
 'groupby': True, 'filterable': True, 'description': None, 'table_id': 54, 
'is_dttm': False, 'expression': None, 'python_date_format': None, 
'created_by_fk': 1, 'changed_by_fk': 1}]
   
   ```
   
   
   I didn't find where in supertset  I can alter types parameters to increase 
max chars.
   I got these issues when connecting to a presto engine, the presto engine is 
connected to a postgresql database , and when I use superset directly on 
postgresql to add the same table it worked fine , but when I pass through 
presto which is supposed to do the same , I got this error.
   Using presto cli to check tables on postgresql database does not show any 
error and I'm able to fetch the table so I assume the problem is related to 
apache superset
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to