From 9ca54038444ac9dded4c260ed0993745cc08181d Mon Sep 17 00:00:00 2001 From: Pierre Moizard Date: Thu, 29 Dec 2022 16:03:03 +0100 Subject: [PATCH 1/7] Edit type to postgresql database --- sqeleton/databases/postgresql.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sqeleton/databases/postgresql.py b/sqeleton/databases/postgresql.py index 7983ea0..c2da753 100644 --- a/sqeleton/databases/postgresql.py +++ b/sqeleton/databases/postgresql.py @@ -59,6 +59,7 @@ class PostgresqlDialect(BaseDialect, Mixin_Schema): "timestamp with time zone": TimestampTZ, "timestamp without time zone": Timestamp, "timestamp": Timestamp, + "date": Timestamp, # Numbers "double precision": Float, "real": Float, From 7ffd57bc0ec147baf1f75039ab27dea9060eb9d8 Mon Sep 17 00:00:00 2001 From: Pierre Moizard Date: Thu, 29 Dec 2022 16:12:47 +0100 Subject: [PATCH 2/7] Edit type in mysql database --- sqeleton/databases/mysql.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sqeleton/databases/mysql.py b/sqeleton/databases/mysql.py index 87dcc3e..5fa0135 100644 --- a/sqeleton/databases/mysql.py +++ b/sqeleton/databases/mysql.py @@ -56,17 +56,24 @@ class Dialect(BaseDialect, Mixin_Schema): # Dates "datetime": Datetime, "timestamp": Timestamp, + "date": Datetime, # Numbers "double": Float, "float": Float, "decimal": Decimal, "int": Integer, "bigint": Integer, + "smallint": Integer, + "tinyint": Integer, # Text "varchar": Text, "char": Text, "varbinary": Text, "binary": Text, + "text": Text, + "mediumtext": Text, + "longtext": Text, + "tinytext": Text, # Boolean "boolean": Boolean, } From 10a16458532a2d7aeff8e1a8ec0bf32ef8c73424 Mon Sep 17 00:00:00 2001 From: Pierre Moizard Date: Thu, 29 Dec 2022 16:36:41 +0100 Subject: [PATCH 3/7] Edit date type --- sqeleton/databases/mysql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqeleton/databases/mysql.py b/sqeleton/databases/mysql.py index 5fa0135..70a424d 100644 --- a/sqeleton/databases/mysql.py +++ b/sqeleton/databases/mysql.py @@ -56,7 +56,7 @@ class Dialect(BaseDialect, Mixin_Schema): # Dates "datetime": Datetime, "timestamp": Timestamp, - "date": Datetime, + "date": Date, # Numbers "double": Float, "float": Float, From d5ccbdfbd3024216c5f23746d766ebb87df9fde1 Mon Sep 17 00:00:00 2001 From: Pierre Moizard Date: Thu, 29 Dec 2022 16:38:07 +0100 Subject: [PATCH 4/7] Edit date type --- sqeleton/databases/postgresql.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sqeleton/databases/postgresql.py b/sqeleton/databases/postgresql.py index c2da753..041d947 100644 --- a/sqeleton/databases/postgresql.py +++ b/sqeleton/databases/postgresql.py @@ -59,7 +59,7 @@ class PostgresqlDialect(BaseDialect, Mixin_Schema): "timestamp with time zone": TimestampTZ, "timestamp without time zone": Timestamp, "timestamp": Timestamp, - "date": Timestamp, + "date": Date, # Numbers "double precision": Float, "real": Float, From 669a1d57c62b31f6700f7bcc73ef96d58dbab7cd Mon Sep 17 00:00:00 2001 From: Erez Shinan Date: Thu, 12 Jan 2023 11:23:51 -0300 Subject: [PATCH 5/7] Fixup for mysql PR --- sqeleton/abcs/database_types.py | 3 +++ sqeleton/databases/mysql.py | 1 + 2 files changed, 4 insertions(+) diff --git a/sqeleton/abcs/database_types.py b/sqeleton/abcs/database_types.py index dba8450..201e773 100644 --- a/sqeleton/abcs/database_types.py +++ b/sqeleton/abcs/database_types.py @@ -42,6 +42,9 @@ class TimestampTZ(TemporalType): class Datetime(TemporalType): pass +class Date(TemporalType): + pass + @dataclass class NumericType(ColType): diff --git a/sqeleton/databases/mysql.py b/sqeleton/databases/mysql.py index 8f2a69c..527282b 100644 --- a/sqeleton/databases/mysql.py +++ b/sqeleton/databases/mysql.py @@ -9,6 +9,7 @@ FractionalType, ColType_UUID, Boolean, + Date, ) from ..abcs.mixins import ( AbstractMixin_MD5, From e975755cc1c15b255ffb24663af6638e58823a4c Mon Sep 17 00:00:00 2001 From: Erez Shinan Date: Thu, 12 Jan 2023 11:25:09 -0300 Subject: [PATCH 6/7] Fixup for postgresql PR --- sqeleton/databases/postgresql.py | 1 + 1 file changed, 1 insertion(+) diff --git a/sqeleton/databases/postgresql.py b/sqeleton/databases/postgresql.py index ca74c81..7c7b47d 100644 --- a/sqeleton/databases/postgresql.py +++ b/sqeleton/databases/postgresql.py @@ -9,6 +9,7 @@ Text, FractionalType, Boolean, + Date, ) from ..abcs.mixins import AbstractMixin_MD5, AbstractMixin_NormalizeValue from .base import BaseDialect, ThreadedDatabase, import_helper, ConnectError, Mixin_Schema From 50b300cb199be35c95bad24f65fa158b21a14d93 Mon Sep 17 00:00:00 2001 From: Erez Shinan Date: Thu, 12 Jan 2023 11:32:18 -0300 Subject: [PATCH 7/7] db.query(..., list) converts to list (instead of returning a QueryResult) --- sqeleton/databases/base.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sqeleton/databases/base.py b/sqeleton/databases/base.py index 294e228..b19c975 100644 --- a/sqeleton/databases/base.py +++ b/sqeleton/databases/base.py @@ -343,7 +343,9 @@ def query(self, sql_ast: Union[Expr, Generator], res_type: type = None): sys.exit(1) res = self._query(sql_code) - if res_type is int: + if res_type is list: + return list(res) + elif res_type is int: if not res: raise ValueError("Query returned 0 rows, expected 1") row = _one(res)