echoss-db 1.2.0__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {echoss_db-1.2.0 → echoss_db-1.2.2}/PKG-INFO +1 -1
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db/mysql_query.py +18 -10
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db.egg-info/PKG-INFO +1 -1
- {echoss_db-1.2.0 → echoss_db-1.2.2}/setup.py +1 -1
- {echoss_db-1.2.0 → echoss_db-1.2.2}/MANIFEST.in +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/README.md +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db/__init__.py +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db/elastic_search.py +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db/mongo_query.py +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db.egg-info/SOURCES.txt +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db.egg-info/dependency_links.txt +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db.egg-info/requires.txt +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/echoss_db.egg-info/top_level.txt +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/requirements.txt +0 -0
- {echoss_db-1.2.0 → echoss_db-1.2.2}/setup.cfg +0 -0
|
@@ -50,7 +50,7 @@ def parse_query(keyword):
|
|
|
50
50
|
def wrapper(self, query_str: str, params=None, *args, **kwargs):
|
|
51
51
|
# Check if the query contains the specified keyword
|
|
52
52
|
if keyword not in query_str.upper():
|
|
53
|
-
raise ValueError(f
|
|
53
|
+
raise ValueError(f"Input query does not include '{keyword}'")
|
|
54
54
|
|
|
55
55
|
# 불필요한 세미콜론 제거 (trailing only) 끝의 세미콜론/공백만 안전하게 제거 (SQLAlchemy는 ; 불필요)
|
|
56
56
|
# 예: "SELECT ... ; " -> "SELECT ..."
|
|
@@ -335,7 +335,7 @@ class MysqlQuery:
|
|
|
335
335
|
rs = self._execute_query(conn, query_str, params)
|
|
336
336
|
row = self._fetch_one(rs)
|
|
337
337
|
if row:
|
|
338
|
-
return row
|
|
338
|
+
return row._asdict()
|
|
339
339
|
else:
|
|
340
340
|
logger.debug("[MySQL] No data found")
|
|
341
341
|
return {}
|
|
@@ -356,13 +356,14 @@ class MysqlQuery:
|
|
|
356
356
|
with self.engine.connect() as conn:
|
|
357
357
|
rs = self._execute_query(conn, query_str, params)
|
|
358
358
|
rows = self._fetch_all(rs)
|
|
359
|
-
if rows
|
|
359
|
+
if not rows:
|
|
360
360
|
logger.debug("[MySQL] data not exist")
|
|
361
|
-
result_list =
|
|
361
|
+
result_list = []
|
|
362
362
|
elif isinstance(rows, list):
|
|
363
|
-
result_list = rows
|
|
363
|
+
result_list = [row._asdict() for row in rows]
|
|
364
364
|
else:
|
|
365
|
-
|
|
365
|
+
result_one = rows._asdict() if hasattr(rows, "_asdict") else rows
|
|
366
|
+
result_list = [result_one]
|
|
366
367
|
return result_list
|
|
367
368
|
except SQLAlchemyError as e:
|
|
368
369
|
logger.debug(f"[MySQL] SELECT_LIST Exception : {e}")
|
|
@@ -470,11 +471,12 @@ class MysqlQuery:
|
|
|
470
471
|
# ----------------------------------------------------------------------------------
|
|
471
472
|
|
|
472
473
|
@parse_query('INSERT')
|
|
473
|
-
def insert(self, query_str: str, params=None) -> int:
|
|
474
|
+
def insert(self, query_str: str, params=None, return_lastrowid=False) -> int:
|
|
474
475
|
"""
|
|
475
476
|
Args:
|
|
476
477
|
query_str(str) : MySQL insert query string
|
|
477
478
|
params : query string format parameters like % style, tuple or list of tuple
|
|
479
|
+
return_lastrowid (bool) : return rowcount if False, else return lastwrowid
|
|
478
480
|
Returns:
|
|
479
481
|
pd.DataFrame() : DataFrame of query result
|
|
480
482
|
"""
|
|
@@ -484,9 +486,15 @@ class MysqlQuery:
|
|
|
484
486
|
rs = self._execute_query(conn, query_str, params)
|
|
485
487
|
else:
|
|
486
488
|
rs = self._execute_query(conn, query_str, params)
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
489
|
+
|
|
490
|
+
if return_lastrowid:
|
|
491
|
+
lastrowid = rs.lastrowid if rs.lastrowid is not None else 0
|
|
492
|
+
logger.debug(f"[MySQL] INSERT last row id at {lastrowid}")
|
|
493
|
+
return lastrowid
|
|
494
|
+
else:
|
|
495
|
+
rowcount = rs.rowcount if rs.rowcount is not None else 0
|
|
496
|
+
logger.debug(f"[MySQL] INSERT {rowcount} rows")
|
|
497
|
+
return rowcount
|
|
490
498
|
except SQLAlchemyError as e:
|
|
491
499
|
logger.error(f"[MySQL] INSERT Exception : {e}")
|
|
492
500
|
return 0
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|