From d92553d301161cfcb7ef275195e888ed86d1efa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Renan=20Louren=C3=A7o?= Date: Tue, 13 Jun 2023 12:53:14 -0400 Subject: [PATCH] changes to allow metadata handling (schema) - added group by to avoid error when generating foreign keys (repeating entries) - added else condition to avoind int(None) error --- sqlalchemy_iris/base.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sqlalchemy_iris/base.py b/sqlalchemy_iris/base.py index 14e9213..c4cae54 100644 --- a/sqlalchemy_iris/base.py +++ b/sqlalchemy_iris/base.py @@ -1443,6 +1443,12 @@ def get_multi_foreign_keys( key_constraints.c.table_name.in_(all_objects), ) ) + .group_by( + key_constraints.c.table_name, + key_constraints.c.constraint_name, + key_constraints.c.column_name, + key_constraints_ref.c.table_schema + ) .order_by( key_constraints.c.constraint_name, key_constraints.c.ordinal_position, @@ -1606,10 +1612,12 @@ def get_multi_columns( ): if charlen == -1: charlen = None - try: - kwargs["length"] = int(charlen) - except ValueError: kwargs["length"] = 0 + else: + try: + kwargs["length"] = int(charlen) + except ValueError: + kwargs["length"] = 0 if collation: kwargs["collation"] = collation if coltype is None: