sqlcycli 2.0.0__tar.gz → 2.0.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.
Files changed (91) hide show
  1. {sqlcycli-2.0.0/src/sqlcycli.egg-info → sqlcycli-2.0.2}/PKG-INFO +1 -1
  2. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/setup.cfg +1 -1
  3. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/__init__.py +4 -4
  4. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_auth.c +1 -1
  5. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/connection.c +53 -3
  6. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/pool.c +53 -3
  7. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/connection.c +53 -3
  8. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/errors.c +1 -1
  9. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/protocol.c +1 -1
  10. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlfunc.c +1 -1
  11. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlintvl.c +1 -1
  12. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/transcode.c +6371 -4731
  13. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/transcode.pxd +7 -1
  14. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/transcode.pyx +266 -108
  15. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/utils.c +53 -3
  16. {sqlcycli-2.0.0 → sqlcycli-2.0.2/src/sqlcycli.egg-info}/PKG-INFO +1 -1
  17. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/LICENSE +0 -0
  18. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/MANIFEST.in +0 -0
  19. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/README.md +0 -0
  20. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/pyproject.toml +0 -0
  21. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/setup.py +0 -0
  22. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/__init__.pxd +0 -0
  23. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_auth.pxd +0 -0
  24. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_auth.py +0 -0
  25. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_auth.pyi +0 -0
  26. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_connect.c +0 -0
  27. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_connect.pxd +0 -0
  28. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_connect.py +0 -0
  29. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_optionfile.c +0 -0
  30. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_optionfile.pxd +0 -0
  31. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_optionfile.py +0 -0
  32. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_optionfile.pyi +0 -0
  33. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_ssl.c +0 -0
  34. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_ssl.pxd +0 -0
  35. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_ssl.py +0 -0
  36. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/_ssl.pyi +0 -0
  37. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/__init__.pxd +0 -0
  38. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/__init__.py +0 -0
  39. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/connection.pxd +0 -0
  40. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/connection.py +0 -0
  41. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/connection.pyi +0 -0
  42. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/pool.pxd +0 -0
  43. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/pool.py +0 -0
  44. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/aio/pool.pyi +0 -0
  45. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/charset.c +0 -0
  46. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/charset.pxd +0 -0
  47. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/charset.py +0 -0
  48. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/charset.pyi +0 -0
  49. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/connection.pxd +0 -0
  50. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/connection.py +0 -0
  51. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/connection.pyi +0 -0
  52. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/CLIENT.py +0 -0
  53. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/COMMAND.py +0 -0
  54. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/CR.py +0 -0
  55. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/ER.py +0 -0
  56. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/FIELD_TYPE.py +0 -0
  57. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/FLAG.py +0 -0
  58. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/SERVER_STATUS.py +0 -0
  59. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_CLIENT.c +0 -0
  60. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_CLIENT.pxd +0 -0
  61. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_CLIENT.py +0 -0
  62. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_COMMAND.c +0 -0
  63. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_COMMAND.pxd +0 -0
  64. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_COMMAND.py +0 -0
  65. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_FIELD_TYPE.c +0 -0
  66. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_FIELD_TYPE.pxd +0 -0
  67. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_FIELD_TYPE.py +0 -0
  68. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_SERVER_STATUS.c +0 -0
  69. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_SERVER_STATUS.pxd +0 -0
  70. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/_SERVER_STATUS.py +0 -0
  71. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/__init__.pxd +0 -0
  72. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/constants/__init__.py +0 -0
  73. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/errors.pxd +0 -0
  74. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/errors.py +0 -0
  75. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/protocol.pxd +0 -0
  76. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/protocol.py +0 -0
  77. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlfunc.pxd +0 -0
  78. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlfunc.py +0 -0
  79. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlfunc.pyi +0 -0
  80. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlintvl.pxd +0 -0
  81. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlintvl.py +0 -0
  82. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/sqlintvl.pyi +0 -0
  83. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/transcode.pyi +0 -0
  84. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/utils.pxd +0 -0
  85. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/utils.pyi +0 -0
  86. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli/utils.pyx +0 -0
  87. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli.egg-info/SOURCES.txt +0 -0
  88. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli.egg-info/dependency_links.txt +0 -0
  89. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli.egg-info/not-zip-safe +0 -0
  90. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli.egg-info/requires.txt +0 -0
  91. {sqlcycli-2.0.0 → sqlcycli-2.0.2}/src/sqlcycli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sqlcycli
3
- Version: 2.0.0
3
+ Version: 2.0.2
4
4
  Summary: Fast MySQL driver build in Cython (Sync and Async).
5
5
  Home-page: https://github.com/AresJef/SQLCyCli
6
6
  Author: Jiefu Chen
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = sqlcycli
3
- version = 2.0.0
3
+ version = 2.0.2
4
4
  author = Jiefu Chen
5
5
  author_email = keppa1991@163.com
6
6
  description = Fast MySQL driver build in Cython (Sync and Async).
@@ -1,10 +1,10 @@
1
- from sqlcycli import constants, errors, sqlfunc, sqlintvl
1
+ from sqlcycli import aio, constants, errors, sqlfunc, sqlintvl
2
2
  from sqlcycli._ssl import SSL
3
3
  from sqlcycli._auth import AuthPlugin
4
4
  from sqlcycli._optionfile import OptionFile
5
- from sqlcycli.transcode import escape, ObjStr, BIT, JSON
6
5
  from sqlcycli.charset import Charset, Charsets, all_charsets
7
6
  from sqlcycli.protocol import MysqlPacket, FieldDescriptorPacket
7
+ from sqlcycli.transcode import escape, ObjStr, CustomEscapeType, BIT, JSON
8
8
  from sqlcycli.connection import (
9
9
  Cursor,
10
10
  DictCursor,
@@ -15,13 +15,13 @@ from sqlcycli.connection import (
15
15
  BaseConnection,
16
16
  Connection,
17
17
  )
18
- from sqlcycli import aio
19
18
  from sqlcycli.aio.pool import Pool, PoolConnection, PoolSyncConnection
20
19
  from sqlcycli._connect import connect, create_pool
21
20
 
22
21
 
23
22
  __all__ = [
24
23
  # Module
24
+ "aio",
25
25
  "constants",
26
26
  "errors",
27
27
  "sqlfunc",
@@ -42,12 +42,12 @@ __all__ = [
42
42
  "SSDfCursor",
43
43
  "BaseConnection",
44
44
  "Connection",
45
- "aio",
46
45
  "Pool",
47
46
  "PoolConnection",
48
47
  "PoolSyncConnection",
49
48
  # Type
50
49
  "ObjStr",
50
+ "CustomEscapeType",
51
51
  "BIT",
52
52
  "JSON",
53
53
  # Function
@@ -14,7 +14,7 @@
14
14
  "-Wno-unreachable-code"
15
15
  ],
16
16
  "include_dirs": [
17
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
17
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
18
18
  ],
19
19
  "name": "sqlcycli._auth",
20
20
  "sources": [
@@ -16,7 +16,7 @@
16
16
  "-Wno-sign-compare"
17
17
  ],
18
18
  "include_dirs": [
19
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
19
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
20
20
  ],
21
21
  "name": "sqlcycli.aio.connection",
22
22
  "sources": [
@@ -1612,6 +1612,8 @@ struct __pyx_obj_8sqlcycli_4_ssl_SSL;
1612
1612
  struct __pyx_obj_8sqlcycli_11_optionfile_OptionFile;
1613
1613
  struct __pyx_obj_8sqlcycli_9transcode_ObjStr;
1614
1614
  struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType;
1615
+ struct __pyx_obj_8sqlcycli_9transcode_BIT;
1616
+ struct __pyx_obj_8sqlcycli_9transcode_JSON;
1615
1617
  struct __pyx_obj_8sqlcycli_3aio_10connection_MysqlResult;
1616
1618
  struct __pyx_obj_8sqlcycli_3aio_10connection_Cursor;
1617
1619
  struct __pyx_obj_8sqlcycli_3aio_10connection_DictCursor;
@@ -1725,7 +1727,7 @@ struct __pyx_obj_8sqlcycli_3aio_10connection___pyx_scope_struct_98___aexit__;
1725
1727
  struct __pyx_opt_args_8sqlcycli_9transcode_escape;
1726
1728
  struct __pyx_opt_args_8sqlcycli_9transcode_decode;
1727
1729
 
1728
- /* "sqlcycli/transcode.pxd":18
1730
+ /* "sqlcycli/transcode.pxd":24
1729
1731
  *
1730
1732
  * # Escape
1731
1733
  * cpdef object escape(object data, bint many=?, bint itemize=?) # <<<<<<<<<<<<<<
@@ -1738,7 +1740,7 @@ struct __pyx_opt_args_8sqlcycli_9transcode_escape {
1738
1740
  int itemize;
1739
1741
  };
1740
1742
 
1741
- /* "sqlcycli/transcode.pxd":21
1743
+ /* "sqlcycli/transcode.pxd":27
1742
1744
  *
1743
1745
  * # Decode
1744
1746
  * cpdef object decode(bytes value, unsigned int field_type, const char* encoding, bint is_binary, bint use_decimal=?, bint decode_bit=?, bint decode_json=?) # <<<<<<<<<<<<<<
@@ -1987,6 +1989,30 @@ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType {
1987
1989
  };
1988
1990
 
1989
1991
 
1992
+ /* "sqlcycli/transcode.pxd":17
1993
+ * cdef object _obj
1994
+ *
1995
+ * cdef class BIT(CustomEscapeType): # <<<<<<<<<<<<<<
1996
+ * pass
1997
+ *
1998
+ */
1999
+ struct __pyx_obj_8sqlcycli_9transcode_BIT {
2000
+ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType __pyx_base;
2001
+ };
2002
+
2003
+
2004
+ /* "sqlcycli/transcode.pxd":20
2005
+ * pass
2006
+ *
2007
+ * cdef class JSON(CustomEscapeType): # <<<<<<<<<<<<<<
2008
+ * pass
2009
+ *
2010
+ */
2011
+ struct __pyx_obj_8sqlcycli_9transcode_JSON {
2012
+ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType __pyx_base;
2013
+ };
2014
+
2015
+
1990
2016
  /* "sqlcycli/aio/connection.pxd":7
1991
2017
  *
1992
2018
  * # Result
@@ -6074,6 +6100,8 @@ typedef struct {
6074
6100
  PyTypeObject *__pyx_ptype_8sqlcycli_11_optionfile_OptionFile;
6075
6101
  PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_ObjStr;
6076
6102
  PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType;
6103
+ PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_BIT;
6104
+ PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_JSON;
6077
6105
  PyObject *__pyx_type_8sqlcycli_3aio_10connection_MysqlResult;
6078
6106
  PyObject *__pyx_type_8sqlcycli_3aio_10connection_Cursor;
6079
6107
  PyObject *__pyx_type_8sqlcycli_3aio_10connection_DictCursor;
@@ -7709,6 +7737,8 @@ static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) {
7709
7737
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_11_optionfile_OptionFile);
7710
7738
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_ObjStr);
7711
7739
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType);
7740
+ Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_BIT);
7741
+ Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_JSON);
7712
7742
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_3aio_10connection_MysqlResult);
7713
7743
  Py_CLEAR(clear_module_state->__pyx_type_8sqlcycli_3aio_10connection_MysqlResult);
7714
7744
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_3aio_10connection_Cursor);
@@ -7970,6 +8000,8 @@ static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void
7970
8000
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_11_optionfile_OptionFile);
7971
8001
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_ObjStr);
7972
8002
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType);
8003
+ Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_BIT);
8004
+ Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_JSON);
7973
8005
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_3aio_10connection_MysqlResult);
7974
8006
  Py_VISIT(traverse_module_state->__pyx_type_8sqlcycli_3aio_10connection_MysqlResult);
7975
8007
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_3aio_10connection_Cursor);
@@ -100637,6 +100669,24 @@ static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
100637
100669
  sizeof(struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType),
100638
100670
  #endif
100639
100671
  __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType) __PYX_ERR(10, 14, __pyx_L1_error)
100672
+ __pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_BIT = __Pyx_ImportType_3_2_1(__pyx_t_1, "sqlcycli.transcode", "BIT",
100673
+ #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
100674
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
100675
+ #elif CYTHON_COMPILING_IN_LIMITED_API
100676
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
100677
+ #else
100678
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
100679
+ #endif
100680
+ __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_BIT) __PYX_ERR(10, 17, __pyx_L1_error)
100681
+ __pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_JSON = __Pyx_ImportType_3_2_1(__pyx_t_1, "sqlcycli.transcode", "JSON",
100682
+ #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
100683
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
100684
+ #elif CYTHON_COMPILING_IN_LIMITED_API
100685
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
100686
+ #else
100687
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
100688
+ #endif
100689
+ __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_JSON) __PYX_ERR(10, 20, __pyx_L1_error)
100640
100690
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
100641
100691
  __Pyx_RefNannyFinishContext();
100642
100692
  return 0;
@@ -15,7 +15,7 @@
15
15
  "-Wno-incompatible-pointer-types"
16
16
  ],
17
17
  "include_dirs": [
18
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
18
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
19
19
  ],
20
20
  "name": "sqlcycli.aio.pool",
21
21
  "sources": [
@@ -1634,6 +1634,8 @@ struct __pyx_obj_8sqlcycli_3aio_10connection_Connection;
1634
1634
  struct __pyx_obj_8sqlcycli_4_ssl_SSL;
1635
1635
  struct __pyx_obj_8sqlcycli_9transcode_ObjStr;
1636
1636
  struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType;
1637
+ struct __pyx_obj_8sqlcycli_9transcode_BIT;
1638
+ struct __pyx_obj_8sqlcycli_9transcode_JSON;
1637
1639
  struct __pyx_obj_8sqlcycli_11_optionfile_OptionFile;
1638
1640
  struct __pyx_obj_8sqlcycli_3aio_4pool_PoolConnection;
1639
1641
  struct __pyx_obj_8sqlcycli_3aio_4pool_PoolSyncConnection;
@@ -1863,7 +1865,7 @@ struct __pyx_opt_args_8sqlcycli_3aio_10connection_14BaseConnection_escape_args {
1863
1865
  struct __pyx_opt_args_8sqlcycli_9transcode_escape;
1864
1866
  struct __pyx_opt_args_8sqlcycli_9transcode_decode;
1865
1867
 
1866
- /* "sqlcycli/transcode.pxd":18
1868
+ /* "sqlcycli/transcode.pxd":24
1867
1869
  *
1868
1870
  * # Escape
1869
1871
  * cpdef object escape(object data, bint many=?, bint itemize=?) # <<<<<<<<<<<<<<
@@ -1876,7 +1878,7 @@ struct __pyx_opt_args_8sqlcycli_9transcode_escape {
1876
1878
  int itemize;
1877
1879
  };
1878
1880
 
1879
- /* "sqlcycli/transcode.pxd":21
1881
+ /* "sqlcycli/transcode.pxd":27
1880
1882
  *
1881
1883
  * # Decode
1882
1884
  * cpdef object decode(bytes value, unsigned int field_type, const char* encoding, bint is_binary, bint use_decimal=?, bint decode_bit=?, bint decode_json=?) # <<<<<<<<<<<<<<
@@ -2502,6 +2504,30 @@ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType {
2502
2504
  };
2503
2505
 
2504
2506
 
2507
+ /* "sqlcycli/transcode.pxd":17
2508
+ * cdef object _obj
2509
+ *
2510
+ * cdef class BIT(CustomEscapeType): # <<<<<<<<<<<<<<
2511
+ * pass
2512
+ *
2513
+ */
2514
+ struct __pyx_obj_8sqlcycli_9transcode_BIT {
2515
+ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType __pyx_base;
2516
+ };
2517
+
2518
+
2519
+ /* "sqlcycli/transcode.pxd":20
2520
+ * pass
2521
+ *
2522
+ * cdef class JSON(CustomEscapeType): # <<<<<<<<<<<<<<
2523
+ * pass
2524
+ *
2525
+ */
2526
+ struct __pyx_obj_8sqlcycli_9transcode_JSON {
2527
+ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType __pyx_base;
2528
+ };
2529
+
2530
+
2505
2531
  /* "sqlcycli/_optionfile.pxd":5
2506
2532
  *
2507
2533
  * # MysqlOption
@@ -5133,6 +5159,8 @@ typedef struct {
5133
5159
  PyTypeObject *__pyx_ptype_8sqlcycli_4_ssl_SSL;
5134
5160
  PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_ObjStr;
5135
5161
  PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType;
5162
+ PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_BIT;
5163
+ PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_JSON;
5136
5164
  PyTypeObject *__pyx_ptype_8sqlcycli_11_optionfile_OptionFile;
5137
5165
  PyObject *__pyx_type_8sqlcycli_3aio_4pool_PoolConnection;
5138
5166
  PyObject *__pyx_type_8sqlcycli_3aio_4pool_PoolSyncConnection;
@@ -5744,6 +5772,8 @@ static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) {
5744
5772
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_4_ssl_SSL);
5745
5773
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_ObjStr);
5746
5774
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType);
5775
+ Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_BIT);
5776
+ Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_JSON);
5747
5777
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_11_optionfile_OptionFile);
5748
5778
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_3aio_4pool_PoolConnection);
5749
5779
  Py_CLEAR(clear_module_state->__pyx_type_8sqlcycli_3aio_4pool_PoolConnection);
@@ -5851,6 +5881,8 @@ static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void
5851
5881
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_4_ssl_SSL);
5852
5882
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_ObjStr);
5853
5883
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType);
5884
+ Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_BIT);
5885
+ Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_JSON);
5854
5886
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_11_optionfile_OptionFile);
5855
5887
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_3aio_4pool_PoolConnection);
5856
5888
  Py_VISIT(traverse_module_state->__pyx_type_8sqlcycli_3aio_4pool_PoolConnection);
@@ -45929,6 +45961,24 @@ static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
45929
45961
  sizeof(struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType),
45930
45962
  #endif
45931
45963
  __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType) __PYX_ERR(11, 14, __pyx_L1_error)
45964
+ __pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_BIT = __Pyx_ImportType_3_2_1(__pyx_t_1, "sqlcycli.transcode", "BIT",
45965
+ #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
45966
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
45967
+ #elif CYTHON_COMPILING_IN_LIMITED_API
45968
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
45969
+ #else
45970
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
45971
+ #endif
45972
+ __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_BIT) __PYX_ERR(11, 17, __pyx_L1_error)
45973
+ __pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_JSON = __Pyx_ImportType_3_2_1(__pyx_t_1, "sqlcycli.transcode", "JSON",
45974
+ #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
45975
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
45976
+ #elif CYTHON_COMPILING_IN_LIMITED_API
45977
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
45978
+ #else
45979
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
45980
+ #endif
45981
+ __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_JSON) __PYX_ERR(11, 20, __pyx_L1_error)
45932
45982
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
45933
45983
  __pyx_t_1 = PyImport_ImportModule("sqlcycli._optionfile"); if (unlikely(!__pyx_t_1)) __PYX_ERR(12, 5, __pyx_L1_error)
45934
45984
  __Pyx_GOTREF(__pyx_t_1);
@@ -15,7 +15,7 @@
15
15
  "-Wno-sign-compare"
16
16
  ],
17
17
  "include_dirs": [
18
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
18
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
19
19
  ],
20
20
  "name": "sqlcycli.connection",
21
21
  "sources": [
@@ -1611,6 +1611,8 @@ struct __pyx_obj_8sqlcycli_4_ssl_SSL;
1611
1611
  struct __pyx_obj_8sqlcycli_11_optionfile_OptionFile;
1612
1612
  struct __pyx_obj_8sqlcycli_9transcode_ObjStr;
1613
1613
  struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType;
1614
+ struct __pyx_obj_8sqlcycli_9transcode_BIT;
1615
+ struct __pyx_obj_8sqlcycli_9transcode_JSON;
1614
1616
  struct __pyx_obj_8sqlcycli_10connection_MysqlResult;
1615
1617
  struct __pyx_obj_8sqlcycli_10connection_Cursor;
1616
1618
  struct __pyx_obj_8sqlcycli_10connection_DictCursor;
@@ -1625,7 +1627,7 @@ struct __pyx_obj_8sqlcycli_10connection_Connection;
1625
1627
  struct __pyx_opt_args_8sqlcycli_9transcode_escape;
1626
1628
  struct __pyx_opt_args_8sqlcycli_9transcode_decode;
1627
1629
 
1628
- /* "sqlcycli/transcode.pxd":18
1630
+ /* "sqlcycli/transcode.pxd":24
1629
1631
  *
1630
1632
  * # Escape
1631
1633
  * cpdef object escape(object data, bint many=?, bint itemize=?) # <<<<<<<<<<<<<<
@@ -1638,7 +1640,7 @@ struct __pyx_opt_args_8sqlcycli_9transcode_escape {
1638
1640
  int itemize;
1639
1641
  };
1640
1642
 
1641
- /* "sqlcycli/transcode.pxd":21
1643
+ /* "sqlcycli/transcode.pxd":27
1642
1644
  *
1643
1645
  * # Decode
1644
1646
  * cpdef object decode(bytes value, unsigned int field_type, const char* encoding, bint is_binary, bint use_decimal=?, bint decode_bit=?, bint decode_json=?) # <<<<<<<<<<<<<<
@@ -1980,6 +1982,30 @@ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType {
1980
1982
  };
1981
1983
 
1982
1984
 
1985
+ /* "sqlcycli/transcode.pxd":17
1986
+ * cdef object _obj
1987
+ *
1988
+ * cdef class BIT(CustomEscapeType): # <<<<<<<<<<<<<<
1989
+ * pass
1990
+ *
1991
+ */
1992
+ struct __pyx_obj_8sqlcycli_9transcode_BIT {
1993
+ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType __pyx_base;
1994
+ };
1995
+
1996
+
1997
+ /* "sqlcycli/transcode.pxd":20
1998
+ * pass
1999
+ *
2000
+ * cdef class JSON(CustomEscapeType): # <<<<<<<<<<<<<<
2001
+ * pass
2002
+ *
2003
+ */
2004
+ struct __pyx_obj_8sqlcycli_9transcode_JSON {
2005
+ struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType __pyx_base;
2006
+ };
2007
+
2008
+
1983
2009
  /* "sqlcycli/connection.pxd":7
1984
2010
  *
1985
2011
  * # Result
@@ -4400,6 +4426,8 @@ typedef struct {
4400
4426
  PyTypeObject *__pyx_ptype_8sqlcycli_11_optionfile_OptionFile;
4401
4427
  PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_ObjStr;
4402
4428
  PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType;
4429
+ PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_BIT;
4430
+ PyTypeObject *__pyx_ptype_8sqlcycli_9transcode_JSON;
4403
4431
  PyObject *__pyx_type_8sqlcycli_10connection_MysqlResult;
4404
4432
  PyObject *__pyx_type_8sqlcycli_10connection_Cursor;
4405
4433
  PyObject *__pyx_type_8sqlcycli_10connection_DictCursor;
@@ -5121,6 +5149,8 @@ static CYTHON_SMALL_CODE int __pyx_m_clear(PyObject *m) {
5121
5149
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_11_optionfile_OptionFile);
5122
5150
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_ObjStr);
5123
5151
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType);
5152
+ Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_BIT);
5153
+ Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_9transcode_JSON);
5124
5154
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_10connection_MysqlResult);
5125
5155
  Py_CLEAR(clear_module_state->__pyx_type_8sqlcycli_10connection_MysqlResult);
5126
5156
  Py_CLEAR(clear_module_state->__pyx_ptype_8sqlcycli_10connection_Cursor);
@@ -5180,6 +5210,8 @@ static CYTHON_SMALL_CODE int __pyx_m_traverse(PyObject *m, visitproc visit, void
5180
5210
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_11_optionfile_OptionFile);
5181
5211
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_ObjStr);
5182
5212
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType);
5213
+ Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_BIT);
5214
+ Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_9transcode_JSON);
5183
5215
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_10connection_MysqlResult);
5184
5216
  Py_VISIT(traverse_module_state->__pyx_type_8sqlcycli_10connection_MysqlResult);
5185
5217
  Py_VISIT(traverse_module_state->__pyx_ptype_8sqlcycli_10connection_Cursor);
@@ -65927,6 +65959,24 @@ static int __Pyx_modinit_type_import_code(__pyx_mstatetype *__pyx_mstate) {
65927
65959
  sizeof(struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_CustomEscapeType),
65928
65960
  #endif
65929
65961
  __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_CustomEscapeType) __PYX_ERR(10, 14, __pyx_L1_error)
65962
+ __pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_BIT = __Pyx_ImportType_3_2_1(__pyx_t_1, "sqlcycli.transcode", "BIT",
65963
+ #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
65964
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
65965
+ #elif CYTHON_COMPILING_IN_LIMITED_API
65966
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
65967
+ #else
65968
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_BIT), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_BIT),
65969
+ #endif
65970
+ __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_BIT) __PYX_ERR(10, 17, __pyx_L1_error)
65971
+ __pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_JSON = __Pyx_ImportType_3_2_1(__pyx_t_1, "sqlcycli.transcode", "JSON",
65972
+ #if defined(PYPY_VERSION_NUM) && PYPY_VERSION_NUM < 0x050B0000
65973
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
65974
+ #elif CYTHON_COMPILING_IN_LIMITED_API
65975
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
65976
+ #else
65977
+ sizeof(struct __pyx_obj_8sqlcycli_9transcode_JSON), __PYX_GET_STRUCT_ALIGNMENT_3_2_1(struct __pyx_obj_8sqlcycli_9transcode_JSON),
65978
+ #endif
65979
+ __Pyx_ImportType_CheckSize_Warn_3_2_1); if (!__pyx_mstate->__pyx_ptype_8sqlcycli_9transcode_JSON) __PYX_ERR(10, 20, __pyx_L1_error)
65930
65980
  __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
65931
65981
  __Pyx_RefNannyFinishContext();
65932
65982
  return 0;
@@ -13,7 +13,7 @@
13
13
  "-Wno-unreachable-code"
14
14
  ],
15
15
  "include_dirs": [
16
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
16
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
17
17
  ],
18
18
  "name": "sqlcycli.errors",
19
19
  "sources": [
@@ -14,7 +14,7 @@
14
14
  "-Wno-unreachable-code"
15
15
  ],
16
16
  "include_dirs": [
17
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
17
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
18
18
  ],
19
19
  "name": "sqlcycli.protocol",
20
20
  "sources": [
@@ -14,7 +14,7 @@
14
14
  "-Wno-unreachable-code"
15
15
  ],
16
16
  "include_dirs": [
17
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
17
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
18
18
  ],
19
19
  "name": "sqlcycli.sqlfunc",
20
20
  "sources": [
@@ -13,7 +13,7 @@
13
13
  "-Wno-unreachable-code"
14
14
  ],
15
15
  "include_dirs": [
16
- "/tmp/build-env-wv9mk9ls/lib/python3.12/site-packages/numpy/_core/include"
16
+ "/tmp/build-env-_0crcm0y/lib/python3.12/site-packages/numpy/_core/include"
17
17
  ],
18
18
  "name": "sqlcycli.sqlintvl",
19
19
  "sources": [