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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: echoss-db
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: echoss AI Bigdata Solution - Database Query Package
5
5
  Home-page: https://github.com/12cmlab/echoss-query
6
6
  Author: ckkim
@@ -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'Input query does not include "{keyword}"')
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 is None:
359
+ if not rows:
360
360
  logger.debug("[MySQL] data not exist")
361
- result_list = None
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
- result_list = [rows]
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
- rowcount = rs.rowcount if rs.rowcount is not None else 0
488
- logger.debug(f"[MySQL] INSERT {rowcount} rows")
489
- return rowcount
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: echoss-db
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: echoss AI Bigdata Solution - Database Query Package
5
5
  Home-page: https://github.com/12cmlab/echoss-query
6
6
  Author: ckkim
@@ -7,7 +7,7 @@ package_name = "echoss-db"
7
7
 
8
8
  setup(
9
9
  name='echoss-db',
10
- version='1.2.0',
10
+ version='1.2.2',
11
11
  author='ckkim',
12
12
  author_email='ckkim@12cm.co.kr',
13
13
  url='https://github.com/12cmlab/echoss-query',
File without changes
File without changes
File without changes
File without changes