BatisX 2.2.4__tar.gz → 2.2.6__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.
- {BatisX-2.2.4 → BatisX-2.2.6}/BatisX.egg-info/PKG-INFO +6 -8
- BatisX-2.2.6/BatisX.egg-info/requires.txt +1 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/PKG-INFO +6 -8
- {BatisX-2.2.4 → BatisX-2.2.6}/README.rst +4 -3
- BatisX-2.2.6/batisx/__init__.py +72 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/batisx/db.py +3 -2
- {BatisX-2.2.4 → BatisX-2.2.6}/batisx/dbx.py +3 -2
- {BatisX-2.2.4 → BatisX-2.2.6}/batisx/sql_id_exec.py +4 -3
- {BatisX-2.2.4 → BatisX-2.2.6}/batisx/sql_page_exec.py +2 -2
- {BatisX-2.2.4 → BatisX-2.2.6}/setup.py +2 -2
- BatisX-2.2.4/BatisX.egg-info/requires.txt +0 -1
- BatisX-2.2.4/batisx/__init__.py +0 -11
- {BatisX-2.2.4 → BatisX-2.2.6}/BatisX.egg-info/SOURCES.txt +0 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/BatisX.egg-info/dependency_links.txt +0 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/BatisX.egg-info/not-zip-safe +0 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/BatisX.egg-info/top_level.txt +0 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/LICENSE +0 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/batisx/log_support.py +0 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/batisx/sql_mapper.py +0 -0
- {BatisX-2.2.4 → BatisX-2.2.6}/setup.cfg +0 -0
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: BatisX
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.6
|
|
4
4
|
Summary: A easy thread safe sql executor for Python like MyBatis with connection pool. It helps you automatically manage database connections and transactions. Support MySQL, PostgreSQL, SQLite etc.
|
|
5
5
|
Home-page: https://gitee.com/summry/batisx
|
|
6
6
|
Author: summy
|
|
7
7
|
Author-email: xiazhongbiao@126.com
|
|
8
|
-
License: UNKNOWN
|
|
9
8
|
Keywords: sql,MySQL,PostgreSQL,MyBatis,python
|
|
10
|
-
Platform: UNKNOWN
|
|
11
9
|
Requires-Python: >=3.5
|
|
12
10
|
Description-Content-Type: text/markdown
|
|
13
11
|
License-File: LICENSE
|
|
12
|
+
Requires-Dist: mysqlx>=2.3.1
|
|
14
13
|
|
|
15
14
|
Mapper file
|
|
16
15
|
'''''''''''
|
|
@@ -177,11 +176,10 @@ Transaction
|
|
|
177
176
|
insert_func(....)
|
|
178
177
|
update_func(....)
|
|
179
178
|
|
|
179
|
+
If you want to use ORM, may be you need SQLORMX: https://pypi.org/project/sqlormx
|
|
180
180
|
|
|
181
|
-
If you want to operate MySQL database, may be you need
|
|
182
|
-
|
|
183
|
-
If you want to operate PostgreSQL database, may be you need MySqlx: https://pypi.org/project/pgsqlx
|
|
184
|
-
|
|
185
|
-
If you just wanted a simple sql executor, may be you need sqlx-exec: https://pypi.org/project/sqlexecx
|
|
181
|
+
If you want to operate MySQL database, may be you need MySQLX: https://pypi.org/project/mysqlx
|
|
186
182
|
|
|
183
|
+
If you want to operate PostgreSQL database, may be you need PgSQLX: https://pypi.org/project/pgsqlx
|
|
187
184
|
|
|
185
|
+
If you just wanted a simple sql executor, may be you need SQLExecX: https://pypi.org/project/sqlexecx
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
mysqlx>=2.3.1
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: BatisX
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.6
|
|
4
4
|
Summary: A easy thread safe sql executor for Python like MyBatis with connection pool. It helps you automatically manage database connections and transactions. Support MySQL, PostgreSQL, SQLite etc.
|
|
5
5
|
Home-page: https://gitee.com/summry/batisx
|
|
6
6
|
Author: summy
|
|
7
7
|
Author-email: xiazhongbiao@126.com
|
|
8
|
-
License: UNKNOWN
|
|
9
8
|
Keywords: sql,MySQL,PostgreSQL,MyBatis,python
|
|
10
|
-
Platform: UNKNOWN
|
|
11
9
|
Requires-Python: >=3.5
|
|
12
10
|
Description-Content-Type: text/markdown
|
|
13
11
|
License-File: LICENSE
|
|
12
|
+
Requires-Dist: mysqlx>=2.3.1
|
|
14
13
|
|
|
15
14
|
Mapper file
|
|
16
15
|
'''''''''''
|
|
@@ -177,11 +176,10 @@ Transaction
|
|
|
177
176
|
insert_func(....)
|
|
178
177
|
update_func(....)
|
|
179
178
|
|
|
179
|
+
If you want to use ORM, may be you need SQLORMX: https://pypi.org/project/sqlormx
|
|
180
180
|
|
|
181
|
-
If you want to operate MySQL database, may be you need
|
|
182
|
-
|
|
183
|
-
If you want to operate PostgreSQL database, may be you need MySqlx: https://pypi.org/project/pgsqlx
|
|
184
|
-
|
|
185
|
-
If you just wanted a simple sql executor, may be you need sqlx-exec: https://pypi.org/project/sqlexecx
|
|
181
|
+
If you want to operate MySQL database, may be you need MySQLX: https://pypi.org/project/mysqlx
|
|
186
182
|
|
|
183
|
+
If you want to operate PostgreSQL database, may be you need PgSQLX: https://pypi.org/project/pgsqlx
|
|
187
184
|
|
|
185
|
+
If you just wanted a simple sql executor, may be you need SQLExecX: https://pypi.org/project/sqlexecx
|
|
@@ -163,9 +163,10 @@ Transaction
|
|
|
163
163
|
insert_func(....)
|
|
164
164
|
update_func(....)
|
|
165
165
|
|
|
166
|
+
If you want to use ORM, may be you need SQLORMX: https://pypi.org/project/sqlormx
|
|
166
167
|
|
|
167
|
-
If you want to operate MySQL database, may be you need
|
|
168
|
+
If you want to operate MySQL database, may be you need MySQLX: https://pypi.org/project/mysqlx
|
|
168
169
|
|
|
169
|
-
If you want to operate PostgreSQL database, may be you need
|
|
170
|
+
If you want to operate PostgreSQL database, may be you need PgSQLX: https://pypi.org/project/pgsqlx
|
|
170
171
|
|
|
171
|
-
If you just wanted a simple sql executor, may be you need
|
|
172
|
+
If you just wanted a simple sql executor, may be you need SQLExecX: https://pypi.org/project/sqlexecx
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"""
|
|
2
|
+
可以设置`SQL_CACHE_SIZE`环境变量来设置缓存大小,默认是128。
|
|
3
|
+
linux or macos:
|
|
4
|
+
export SQL_CACHE_SIZE=256
|
|
5
|
+
windows:
|
|
6
|
+
set SQL_CACHE_SIZE=256
|
|
7
|
+
|
|
8
|
+
可以设置`LRU_CACHE_SIZE`环境变量来设置缓存大小,默认是64。
|
|
9
|
+
linux or macos:
|
|
10
|
+
export LRU_CACHE_SIZE=128
|
|
11
|
+
windows:
|
|
12
|
+
set LRU_CACHE_SIZE=128
|
|
13
|
+
"""
|
|
14
|
+
from sqlexecx import init as _init
|
|
15
|
+
from mysqlx import (
|
|
16
|
+
conn,
|
|
17
|
+
trans,
|
|
18
|
+
get_connection,
|
|
19
|
+
close,
|
|
20
|
+
Driver,
|
|
21
|
+
Dialect,
|
|
22
|
+
Engine,
|
|
23
|
+
InitArgs
|
|
24
|
+
)
|
|
25
|
+
from .sql_mapper import sql, mapper
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def init_db(*args, **kwargs) -> Engine:
|
|
29
|
+
"""
|
|
30
|
+
Compliant with the Python DB API 2.0 (PEP-249).
|
|
31
|
+
|
|
32
|
+
Addition parameters:
|
|
33
|
+
- mapper_path: str, path of mapper files
|
|
34
|
+
- driver=None: str|Driver, 'psycopg2' or 'pymysql' or 'mysql.connector' or 'sqlite3' or 'turso'
|
|
35
|
+
- pool_size=0: int, default 0, size of connection pool
|
|
36
|
+
- show_sql=False: bool, if True, print sql
|
|
37
|
+
- debug=False: bool, if True, print debug context
|
|
38
|
+
|
|
39
|
+
Other parameters of connection pool refer to DBUtils: https://webwareforpython.github.io/DBUtils/main.html#pooleddb-pooled-db
|
|
40
|
+
|
|
41
|
+
Examples
|
|
42
|
+
--------
|
|
43
|
+
>>> from mysqlx import db, trans, init_db
|
|
44
|
+
>>> init_db('db.sqlite3', mapper_path='./mapper', driver='sqlite3', debug=True)
|
|
45
|
+
Engine.SQLITE
|
|
46
|
+
>>> init_db("postgres://user:password@127.0.0.1:5432/testdb", driver='psycopg2', pool_size=5, debug=True)
|
|
47
|
+
Engine.POSTGRESQL
|
|
48
|
+
>>> init_db(user='root', password='xxx', host='127.0.0.1', port=3306, database='testdb', driver='pymysql', mapper_path='./mapper')
|
|
49
|
+
Engine.MYSQL
|
|
50
|
+
"""
|
|
51
|
+
from mysqlx.sql_holder import load_mapper
|
|
52
|
+
|
|
53
|
+
mapper_path = kwargs.pop(InitArgs.MAPPER_PATH) if InitArgs.MAPPER_PATH in kwargs else None
|
|
54
|
+
engine = _init(*args, **kwargs)
|
|
55
|
+
if mapper_path:
|
|
56
|
+
load_mapper(mapper_path)
|
|
57
|
+
return engine
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
__all__ = [
|
|
61
|
+
'conn',
|
|
62
|
+
'trans',
|
|
63
|
+
'get_connection',
|
|
64
|
+
'close',
|
|
65
|
+
'Driver',
|
|
66
|
+
'Dialect',
|
|
67
|
+
'Engine',
|
|
68
|
+
'init_db',
|
|
69
|
+
'sql',
|
|
70
|
+
'mapper'
|
|
71
|
+
]
|
|
72
|
+
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from typing import Any
|
|
1
2
|
from mysqlx import sql_support
|
|
2
3
|
# Don't remove. Import for not repetitive implementation
|
|
3
4
|
from sqlexecx import save_select_key, do_save_sql_select_key
|
|
@@ -6,7 +7,7 @@ from mysqlx.db import insert, save, execute, batch_insert, batch_execute, get, q
|
|
|
6
7
|
do_save_sql, drop_table, truncate_table, sql, table, page
|
|
7
8
|
|
|
8
9
|
|
|
9
|
-
def save_sql(sql: str, *args, **kwargs):
|
|
10
|
+
def save_sql(sql: str, *args, **kwargs) -> Any:
|
|
10
11
|
"""
|
|
11
12
|
Insert data into table, return primary key.
|
|
12
13
|
|
|
@@ -25,7 +26,7 @@ def save_sql(sql: str, *args, **kwargs):
|
|
|
25
26
|
return do_save_sql(sql, *args)
|
|
26
27
|
|
|
27
28
|
|
|
28
|
-
def save_sql_select_key(select_key: str, sql: str, *args, **kwargs):
|
|
29
|
+
def save_sql_select_key(select_key: str, sql: str, *args, **kwargs) -> Any:
|
|
29
30
|
"""
|
|
30
31
|
Insert data into table, return primary key.
|
|
31
32
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from typing import Any
|
|
1
2
|
from mysqlx import sql_holder as holder
|
|
2
3
|
from mysqlx.dbx import batch_execute, execute, get, query, query_one, select, select_one, select_page, query_page, sql, page
|
|
3
4
|
|
|
@@ -5,7 +6,7 @@ from . import db
|
|
|
5
6
|
from .log_support import logger, sql_id_log, page_sql_id_log, sql_id_select_key_log
|
|
6
7
|
|
|
7
8
|
|
|
8
|
-
def save(sql_id: str, *args, **kwargs):
|
|
9
|
+
def save(sql_id: str, *args, **kwargs) -> Any:
|
|
9
10
|
"""
|
|
10
11
|
Execute insert SQL, return primary key.
|
|
11
12
|
:return: Primary key
|
|
@@ -19,7 +20,7 @@ def save(sql_id: str, *args, **kwargs):
|
|
|
19
20
|
return db.do_save_sql(sql, *args)
|
|
20
21
|
|
|
21
22
|
|
|
22
|
-
def save_select_key(select_key, sql_id: str, *args, **kwargs):
|
|
23
|
+
def save_select_key(select_key, sql_id: str, *args, **kwargs) -> Any:
|
|
23
24
|
"""
|
|
24
25
|
Execute insert SQL, return primary key.
|
|
25
26
|
:return: Primary key
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from typing import Any
|
|
1
2
|
from . import dbx
|
|
2
3
|
from mysqlx.sql_id_exec import SqlExec as _SqlExec
|
|
3
4
|
from sqlexecx.page_exec import PageExec
|
|
@@ -5,7 +6,7 @@ from sqlexecx.page_exec import PageExec
|
|
|
5
6
|
|
|
6
7
|
class SqlExec(_SqlExec):
|
|
7
8
|
|
|
8
|
-
def save_select_key(self, select_key: str, *args, **kwargs):
|
|
9
|
+
def save_select_key(self, select_key: str, *args, **kwargs) -> Any:
|
|
9
10
|
"""
|
|
10
11
|
Insert data into table, return primary key.
|
|
11
12
|
|
|
@@ -16,10 +17,10 @@ class SqlExec(_SqlExec):
|
|
|
16
17
|
return self.exec.save_select_key(select_key, self.sql, *args, **kwargs)
|
|
17
18
|
|
|
18
19
|
|
|
19
|
-
def sql(sql: str) :
|
|
20
|
+
def sql(sql: str) -> SqlExec:
|
|
20
21
|
assert sql, "Parameter 'sql' must not be none"
|
|
21
22
|
return SqlExec(dbx, sql)
|
|
22
23
|
|
|
23
24
|
|
|
24
|
-
def page(page_num: int, page_size: int) :
|
|
25
|
+
def page(page_num: int, page_size: int) -> PageExec:
|
|
25
26
|
return PageExec(dbx, page_num, page_size)
|
|
@@ -3,7 +3,7 @@ from sqlexecx.sql_exec import SqlExec
|
|
|
3
3
|
from sqlexecx.page_exec import PageExec
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
def sql(sql: str):
|
|
6
|
+
def sql(sql: str) -> SqlExec:
|
|
7
7
|
"""
|
|
8
8
|
Get a SqlExec instance
|
|
9
9
|
|
|
@@ -16,7 +16,7 @@ def sql(sql: str):
|
|
|
16
16
|
return SqlExec(db, sql)
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
def page(page_num: int, page_size: int):
|
|
19
|
+
def page(page_num: int, page_size: int) -> PageExec:
|
|
20
20
|
"""
|
|
21
21
|
Get a PageExec instance
|
|
22
22
|
|
|
@@ -18,9 +18,9 @@ setup(
|
|
|
18
18
|
long_description=long_description,
|
|
19
19
|
long_description_content_type='text/markdown',
|
|
20
20
|
install_requires=[
|
|
21
|
-
'mysqlx>=2.
|
|
21
|
+
'mysqlx>=2.3.1',
|
|
22
22
|
],
|
|
23
|
-
version='2.2.
|
|
23
|
+
version='2.2.6',
|
|
24
24
|
url='https://gitee.com/summry/batisx',
|
|
25
25
|
author='summy',
|
|
26
26
|
author_email='xiazhongbiao@126.com',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
mysqlx>=2.2.8
|
BatisX-2.2.4/batisx/__init__.py
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|