diff --git a/info/__init__.py b/info/__init__.py index a97b1ab..3eded86 100644 --- a/info/__init__.py +++ b/info/__init__.py @@ -1,6 +1,6 @@ __app_name__ = 'data-transport' __author__ = 'The Phi Technology' -__version__= '2.2.4' +__version__= '2.2.6' __email__ = "info@the-phi.com" __license__=f""" Copyright 2010 - 2024, Steve L. Nyemba diff --git a/transport/other/__init__.py b/transport/other/__init__.py index 77d8e2f..878b06a 100644 --- a/transport/other/__init__.py +++ b/transport/other/__init__.py @@ -1 +1 @@ -from . import files, http, rabbitmq, callback, files +from . import files, http, rabbitmq, callback, files, console diff --git a/transport/sql/common.py b/transport/sql/common.py index 4c9d4a7..0a55ed7 100644 --- a/transport/sql/common.py +++ b/transport/sql/common.py @@ -3,6 +3,8 @@ This file encapsulates common operations associated with SQL databases via SQLAl """ import sqlalchemy as sqa +from sqlalchemy import text + import pandas as pd class Base: @@ -56,7 +58,15 @@ class Base: @TODO: Execution of stored procedures """ - return pd.read_sql(sql,self._engine) if sql.lower().startswith('select') or sql.lower().startswith('with') else None + if sql.lower().startswith('select') or sql.lower().startswith('with') : + + return pd.read_sql(sql,self._engine) + else: + _handler = self._engine.connect() + _handler.execute(text(sql)) + _handler.commit () + _handler.close() + return None class SQLBase(Base): def __init__(self,**_args): diff --git a/transport/sql/duckdb.py b/transport/sql/duckdb.py index ab82bb2..06f66e5 100644 --- a/transport/sql/duckdb.py +++ b/transport/sql/duckdb.py @@ -5,7 +5,10 @@ from transport.sql.common import Base, BaseReader, BaseWriter class Duck : def __init__(self,**_args): - self.database = _args['database'] + # + # duckdb with none as database will operate as an in-memory database + # + self.database = _args['database'] if 'database' in _args else '' def get_provider(self): return "duckdb"