datahub_binary 1.9.4__cp312-cp312-win_amd64.whl → 1.9.6__cp312-cp312-win_amd64.whl
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.
- datahub/dbo/database.pyi +36 -69
- datahub.cp312-win_amd64.pyd +0 -0
- {datahub_binary-1.9.4.dist-info → datahub_binary-1.9.6.dist-info}/METADATA +1 -1
- {datahub_binary-1.9.4.dist-info → datahub_binary-1.9.6.dist-info}/RECORD +6 -6
- {datahub_binary-1.9.4.dist-info → datahub_binary-1.9.6.dist-info}/WHEEL +0 -0
- {datahub_binary-1.9.4.dist-info → datahub_binary-1.9.6.dist-info}/top_level.txt +0 -0
datahub/dbo/database.pyi
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import polars as pl
|
|
2
|
+
import types
|
|
2
3
|
from _typeshed import Incomplete
|
|
3
4
|
from contextlib import contextmanager
|
|
4
5
|
from datahub.utils.logger import logger as logger
|
|
@@ -12,93 +13,59 @@ class Database:
|
|
|
12
13
|
schema: Incomplete
|
|
13
14
|
session_factory: Incomplete
|
|
14
15
|
def __init__(self, connection_string: str, pool_size: int = 3, max_overflow: int = 10, pool_timeout: int = 30, pool_recycle: int = 3600) -> None: ...
|
|
15
|
-
def
|
|
16
|
+
def begin(self) -> Database:
|
|
17
|
+
"""开启事务"""
|
|
18
|
+
def commit(self) -> None:
|
|
19
|
+
"""提交事务"""
|
|
20
|
+
def rollback(self) -> None:
|
|
21
|
+
"""回滚事务"""
|
|
22
|
+
@property
|
|
23
|
+
def in_transaction(self) -> bool:
|
|
24
|
+
"""是否在事务中"""
|
|
25
|
+
@contextmanager
|
|
26
|
+
def transaction(self) -> Generator['Database', Any, None]:
|
|
16
27
|
"""
|
|
17
|
-
|
|
28
|
+
事务上下文管理器,自动 commit/rollback
|
|
18
29
|
|
|
19
|
-
:
|
|
20
|
-
|
|
21
|
-
|
|
30
|
+
Usage:
|
|
31
|
+
with db.transaction():
|
|
32
|
+
db.insert(...)
|
|
33
|
+
db.update(...)
|
|
22
34
|
"""
|
|
35
|
+
def insert(self, table_name: str, data: dict[str, Any]) -> int:
|
|
36
|
+
"""插入单条数据"""
|
|
37
|
+
def insert_many(self, table_name: str, data: list[dict[str, Any]]) -> int:
|
|
38
|
+
"""批量插入数据"""
|
|
23
39
|
def insert_ignore(self, table_name: str, data: dict, keys: list) -> bool:
|
|
24
40
|
"""
|
|
25
41
|
插入忽略,不存在就插入,存在就忽略(单条)
|
|
26
|
-
:param table_name: 表名
|
|
27
|
-
:param data: 插入数据
|
|
28
|
-
:param keys: 关键字,关键字相同则认为数据相同
|
|
29
|
-
:return: 是否成功
|
|
30
42
|
"""
|
|
31
43
|
def insert_many_ignore(self, table_name: str, data: list[dict], keys: list) -> bool:
|
|
32
44
|
"""
|
|
33
45
|
批量插入忽略,不存在就插入,存在就忽略
|
|
34
|
-
:param table_name: 表名
|
|
35
|
-
:param data: 插入数据 [{row1:v1, row2:v2...}...]
|
|
36
|
-
:param keys: 关键字,关键字相同则认为数据相同
|
|
37
|
-
:return: 是否成功
|
|
38
46
|
"""
|
|
39
47
|
def upsert(self, table_name: str, data: dict, keys: list) -> bool:
|
|
40
|
-
"""
|
|
41
|
-
插入更新,不存在就插入,存在就更新
|
|
42
|
-
:param table_name: 表名
|
|
43
|
-
:param data: 插入数据
|
|
44
|
-
:param keys: 关键字,关键字相同则认为数据相同
|
|
45
|
-
:return: 是否成功
|
|
46
|
-
"""
|
|
48
|
+
"""插入更新,不存在就插入,存在就更新"""
|
|
47
49
|
def upsert_many(self, table_name: str, data: list[dict], keys: list) -> bool:
|
|
48
|
-
"""
|
|
49
|
-
批量插入更新,不存在就插入,存在就更新
|
|
50
|
-
:param table_name: 表名
|
|
51
|
-
:param data: 插入数据[{row1:v1,row2:v2...}...]
|
|
52
|
-
:param keys: 关键字,关键字相同则认为数据相同
|
|
53
|
-
:return: 是否成功
|
|
54
|
-
"""
|
|
50
|
+
"""批量插入更新"""
|
|
55
51
|
def update(self, table_name: str, data: dict, keys: list) -> int:
|
|
56
|
-
|
|
57
|
-
更新数据
|
|
58
|
-
:param table_name: 表名
|
|
59
|
-
:param data: 字典数据{"字段名":值}
|
|
60
|
-
:param keys: 索引字段["ID",...]
|
|
61
|
-
:return: 更新的行数
|
|
62
|
-
'''
|
|
52
|
+
"""更新数据"""
|
|
63
53
|
def update_many(self, table_name: str, rows: list, keys: list) -> bool:
|
|
64
|
-
|
|
65
|
-
批量更新数据
|
|
66
|
-
:param table_name: 表名
|
|
67
|
-
:param rows: [{"字段名":值}...]
|
|
68
|
-
:param keys: 索引字段["ID",...]
|
|
69
|
-
:return: 更新结果
|
|
70
|
-
'''
|
|
54
|
+
"""批量更新数据"""
|
|
71
55
|
def delete(self, table_name: str, **filters) -> int:
|
|
72
|
-
|
|
73
|
-
删除数据
|
|
74
|
-
:param table_name: 表名
|
|
75
|
-
:param filters: "字段名"=值
|
|
76
|
-
:return: 删除行数
|
|
77
|
-
'''
|
|
56
|
+
"""删除数据"""
|
|
78
57
|
def select(self, table_name: str, **filters) -> list[dict]:
|
|
79
|
-
|
|
80
|
-
查询数据
|
|
81
|
-
:param table_name: 表名
|
|
82
|
-
:param filters: "字段名"=值(支持单值或列表)
|
|
83
|
-
:return: 查询结果列表
|
|
84
|
-
'''
|
|
58
|
+
"""查询数据"""
|
|
85
59
|
def query(self, sql: str, return_format: Literal['dataframe', 'records'] = 'records') -> pl.DataFrame | list[dict] | None:
|
|
86
|
-
"""
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
:param sql: SQL查询语句
|
|
90
|
-
:param return_format: 返回格式
|
|
91
|
-
:return: 查询结果
|
|
92
|
-
"""
|
|
60
|
+
"""执行原生SQL查询"""
|
|
61
|
+
def execute(self, sql: str) -> int:
|
|
62
|
+
"""执行原生SQL语句(INSERT/UPDATE/DELETE等)"""
|
|
93
63
|
@contextmanager
|
|
94
64
|
def get_session(self) -> Generator[Session, Any, None]:
|
|
95
|
-
"""
|
|
65
|
+
"""获取一个数据库会话"""
|
|
96
66
|
def query_with_session(self, sql: str, session: Session, return_format: Literal['dataframe', 'records'] = 'records'):
|
|
97
|
-
"""
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
:param return_format: 返回格式
|
|
103
|
-
:return: 查询结果
|
|
104
|
-
"""
|
|
67
|
+
"""使用指定 session 执行原生SQL查询"""
|
|
68
|
+
def close(self) -> None:
|
|
69
|
+
"""关闭数据库连接"""
|
|
70
|
+
def __enter__(self) -> Database: ...
|
|
71
|
+
def __exit__(self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None) -> None: ...
|
datahub.cp312-win_amd64.pyd
CHANGED
|
Binary file
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
datahub.cp312-win_amd64.pyd,sha256=
|
|
1
|
+
datahub.cp312-win_amd64.pyd,sha256=jDEIFNy9XCFW9AZ3V3saEyzvCqxWo0ESOAwGqULRo9c,1949696
|
|
2
2
|
datahub.pyi,sha256=biltT_CgztnMyL9mbp332i5vT7LUMws0bN6fdQ3WYH4,1555
|
|
3
3
|
datahub/__init__.pyi,sha256=hX8D9Qd6uPjZiUBd6rIq7Llkt_H4l_RvRXsws3sdYbI,630
|
|
4
4
|
datahub/datacache.pyi,sha256=Z2b3ktYv5t2y9Z1yXn0axbdoV06-GhjJhEIl_Ms-FjU,5044
|
|
5
5
|
datahub/datahub.pyi,sha256=NKfhw00iPMsp0Z_q4usO_D7xB6-Hr50wRxpe3KGYH7E,51370
|
|
6
6
|
datahub/setting.pyi,sha256=u6gYjjF6r1thSpp2XNMvg_1JUcqB64dRTkNoHlOoKUQ,889
|
|
7
7
|
datahub/ats/client_sdk.pyi,sha256=RScBpyY2ML84RBrYt60RnHtodOwWOe5-LbnJ3nFFBGs,8710
|
|
8
|
-
datahub/dbo/database.pyi,sha256=
|
|
8
|
+
datahub/dbo/database.pyi,sha256=oD5Iw3B3FPFQqbFUufhWlwgHqnT8hsHvpDtX85A5XL8,3203
|
|
9
9
|
datahub/dbo/pg.pyi,sha256=diMoeSPBqOswXYvVjtpfF5XklWqa_f20vQ1TPiHZ7WA,2077
|
|
10
10
|
datahub/dbo/redis_stream.pyi,sha256=geVI1BoTHRlxodS44MquM-FY_aJt27eDqmAKf2a4PyM,1938
|
|
11
11
|
datahub/dbo/sr.pyi,sha256=ZKcUUxGP-s4xGr_zF1qgVlRZcL4fkyROAOiJHuX-Fwk,28644
|
|
@@ -25,7 +25,7 @@ datahub/utils/sftp.pyi,sha256=w8S-cxJWMeWJ6--RjT95qVgng_IhwPImiyoqdCpOCQI,2107
|
|
|
25
25
|
datahub/utils/monitor/__init__.pyi,sha256=EOwgf8CbJ4g3iUAaFoR6O-mYemJ9xjP42zlBj2KeA9c,76
|
|
26
26
|
datahub/utils/monitor/base.pyi,sha256=n1dKYK73JJ_7QPkCWFc-6Aj_a16j2z_VBaQ9zkN9A3E,310
|
|
27
27
|
datahub/utils/monitor/feishu.pyi,sha256=GgvJXYeX3cPOQjqpV0GJUr_Ri1_cZe2-viRBkpe6O_g,402
|
|
28
|
-
datahub_binary-1.9.
|
|
29
|
-
datahub_binary-1.9.
|
|
30
|
-
datahub_binary-1.9.
|
|
31
|
-
datahub_binary-1.9.
|
|
28
|
+
datahub_binary-1.9.6.dist-info/METADATA,sha256=PL5Lrq8jWmnnB5J0kOaEtqlxEUDa1_UR_WwLOS8qPO4,7903
|
|
29
|
+
datahub_binary-1.9.6.dist-info/WHEEL,sha256=mktjIo72eqyqXY-lxdbITmUE47ZU2O9WYzyv0PnFKrU,96
|
|
30
|
+
datahub_binary-1.9.6.dist-info/top_level.txt,sha256=J0rzqYfZghMgpObWaPGhQtV88I-KXrgArDvi_ddf6ZA,8
|
|
31
|
+
datahub_binary-1.9.6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|