singlestoredb 1.15.2__tar.gz → 1.15.3__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.

Potentially problematic release.


This version of singlestoredb might be problematic. Click here for more details.

Files changed (186) hide show
  1. {singlestoredb-1.15.2/singlestoredb.egg-info → singlestoredb-1.15.3}/PKG-INFO +1 -1
  2. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/accel.c +70 -22
  3. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/setup.cfg +1 -1
  4. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/__init__.py +1 -1
  5. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_ext_func_data.py +18 -18
  6. {singlestoredb-1.15.2 → singlestoredb-1.15.3/singlestoredb.egg-info}/PKG-INFO +1 -1
  7. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/LICENSE +0 -0
  8. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/README.md +0 -0
  9. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/setup.py +0 -0
  10. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/ai/__init__.py +0 -0
  11. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/ai/chat.py +0 -0
  12. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/ai/embeddings.py +0 -0
  13. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/alchemy/__init__.py +0 -0
  14. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/__init__.py +0 -0
  15. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_cloud_functions.py +0 -0
  16. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_config.py +0 -0
  17. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_connection_info.py +0 -0
  18. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_dashboards.py +0 -0
  19. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_process.py +0 -0
  20. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_python_udfs.py +0 -0
  21. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_stdout_supress.py +0 -0
  22. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/apps/_uvicorn_util.py +0 -0
  23. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/auth.py +0 -0
  24. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/config.py +0 -0
  25. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/connection.py +0 -0
  26. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/converters.py +0 -0
  27. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/__init__.py +0 -0
  28. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/attrdoc.py +0 -0
  29. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/common.py +0 -0
  30. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/epydoc.py +0 -0
  31. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/google.py +0 -0
  32. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/numpydoc.py +0 -0
  33. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/parser.py +0 -0
  34. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/py.typed +0 -0
  35. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/rest.py +0 -0
  36. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/__init__.py +0 -0
  37. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/_pydoctor.py +0 -0
  38. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/test_epydoc.py +0 -0
  39. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/test_google.py +0 -0
  40. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/test_numpydoc.py +0 -0
  41. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/test_parse_from_object.py +0 -0
  42. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/test_parser.py +0 -0
  43. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/test_rest.py +0 -0
  44. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/tests/test_util.py +0 -0
  45. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/docstring/util.py +0 -0
  46. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/exceptions.py +0 -0
  47. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/__init__.py +0 -0
  48. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/decorator.py +0 -0
  49. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/dtypes.py +0 -0
  50. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/__init__.py +0 -0
  51. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/arrow.py +0 -0
  52. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/asgi.py +0 -0
  53. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/json.py +0 -0
  54. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/mmap.py +0 -0
  55. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/rowdat_1.py +0 -0
  56. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/timer.py +0 -0
  57. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/ext/utils.py +0 -0
  58. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/signature.py +0 -0
  59. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/typing/__init__.py +0 -0
  60. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/typing/numpy.py +0 -0
  61. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/typing/pandas.py +0 -0
  62. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/typing/polars.py +0 -0
  63. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/typing/pyarrow.py +0 -0
  64. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/functions/utils.py +0 -0
  65. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/__init__.py +0 -0
  66. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/graphql.py +0 -0
  67. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handler.py +0 -0
  68. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/__init__.py +0 -0
  69. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/export.py +0 -0
  70. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/files.py +0 -0
  71. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/job.py +0 -0
  72. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/models.py +0 -0
  73. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/stage.py +0 -0
  74. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/utils.py +0 -0
  75. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/handlers/workspace.py +0 -0
  76. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/registry.py +0 -0
  77. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/fusion/result.py +0 -0
  78. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/http/__init__.py +0 -0
  79. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/http/connection.py +0 -0
  80. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/magics/__init__.py +0 -0
  81. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/magics/run_personal.py +0 -0
  82. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/magics/run_shared.py +0 -0
  83. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/__init__.py +0 -0
  84. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/billing_usage.py +0 -0
  85. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/cluster.py +0 -0
  86. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/export.py +0 -0
  87. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/files.py +0 -0
  88. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/inference_api.py +0 -0
  89. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/job.py +0 -0
  90. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/manager.py +0 -0
  91. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/organization.py +0 -0
  92. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/region.py +0 -0
  93. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/utils.py +0 -0
  94. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/management/workspace.py +0 -0
  95. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/__init__.py +0 -0
  96. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/_auth.py +0 -0
  97. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/charset.py +0 -0
  98. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/connection.py +0 -0
  99. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/CLIENT.py +0 -0
  100. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/COMMAND.py +0 -0
  101. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/CR.py +0 -0
  102. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/ER.py +0 -0
  103. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/EXTENDED_TYPE.py +0 -0
  104. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/FIELD_TYPE.py +0 -0
  105. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/FLAG.py +0 -0
  106. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/SERVER_STATUS.py +0 -0
  107. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/VECTOR_TYPE.py +0 -0
  108. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/constants/__init__.py +0 -0
  109. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/converters.py +0 -0
  110. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/cursors.py +0 -0
  111. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/err.py +0 -0
  112. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/optionfile.py +0 -0
  113. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/protocol.py +0 -0
  114. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/__init__.py +0 -0
  115. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/base.py +0 -0
  116. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/conftest.py +0 -0
  117. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_DictCursor.py +0 -0
  118. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_SSCursor.py +0 -0
  119. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_basic.py +0 -0
  120. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_connection.py +0 -0
  121. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_converters.py +0 -0
  122. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_cursor.py +0 -0
  123. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_err.py +0 -0
  124. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_issues.py +0 -0
  125. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_load_local.py +0 -0
  126. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_nextset.py +0 -0
  127. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/test_optionfile.py +0 -0
  128. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/thirdparty/__init__.py +0 -0
  129. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/__init__.py +0 -0
  130. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/capabilities.py +0 -0
  131. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/dbapi20.py +0 -0
  132. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py +0 -0
  133. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py +0 -0
  134. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py +0 -0
  135. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/mysql/times.py +0 -0
  136. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/notebook/__init__.py +0 -0
  137. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/notebook/_objects.py +0 -0
  138. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/notebook/_portal.py +0 -0
  139. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/py.typed +0 -0
  140. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/pytest.py +0 -0
  141. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/server/__init__.py +0 -0
  142. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/server/docker.py +0 -0
  143. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/server/free_tier.py +0 -0
  144. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/__init__.py +0 -0
  145. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/empty.sql +0 -0
  146. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/ext_funcs/__init__.py +0 -0
  147. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/local_infile.csv +0 -0
  148. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test.ipynb +0 -0
  149. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test.sql +0 -0
  150. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test2.ipynb +0 -0
  151. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test2.sql +0 -0
  152. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_basics.py +0 -0
  153. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_config.py +0 -0
  154. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_connection.py +0 -0
  155. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_dbapi.py +0 -0
  156. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_exceptions.py +0 -0
  157. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_ext_func.py +0 -0
  158. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_fusion.py +0 -0
  159. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_http.py +0 -0
  160. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_management.py +0 -0
  161. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_plugin.py +0 -0
  162. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_results.py +0 -0
  163. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_types.py +0 -0
  164. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_udf.py +0 -0
  165. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_udf_returns.py +0 -0
  166. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_vectorstore.py +0 -0
  167. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/test_xdict.py +0 -0
  168. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/tests/utils.py +0 -0
  169. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/types.py +0 -0
  170. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/__init__.py +0 -0
  171. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/config.py +0 -0
  172. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/convert_rows.py +0 -0
  173. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/debug.py +0 -0
  174. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/dtypes.py +0 -0
  175. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/events.py +0 -0
  176. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/mogrify.py +0 -0
  177. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/results.py +0 -0
  178. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/utils/xdict.py +0 -0
  179. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb/vectorstore.py +0 -0
  180. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb.egg-info/SOURCES.txt +0 -0
  181. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb.egg-info/dependency_links.txt +0 -0
  182. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb.egg-info/entry_points.txt +0 -0
  183. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb.egg-info/requires.txt +0 -0
  184. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/singlestoredb.egg-info/top_level.txt +0 -0
  185. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/sqlx/__init__.py +0 -0
  186. {singlestoredb-1.15.2 → singlestoredb-1.15.3}/sqlx/magic.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.15.2
3
+ Version: 1.15.3
4
4
  Summary: Interface to the SingleStoreDB database and workspace management APIs
5
5
  Home-page: https://github.com/singlestore-labs/singlestoredb-python
6
6
  Author: SingleStore
@@ -1950,7 +1950,6 @@ static PyObject *read_row_from_packet(
1950
1950
  case ACCEL_OUT_DICTS:
1951
1951
  case ACCEL_OUT_ARROW:
1952
1952
  PyDict_SetItem(py_result, py_state->py_names[i], py_item);
1953
- Py_INCREF(py_state->py_names[i]);
1954
1953
  Py_DECREF(py_item);
1955
1954
  break;
1956
1955
  default:
@@ -2678,8 +2677,19 @@ static PyObject *load_rowdat_1_numpy(PyObject *self, PyObject *args, PyObject *k
2678
2677
 
2679
2678
  exit:
2680
2679
  if (ctypes) free(ctypes);
2681
- if (out_cols) free(out_cols);
2682
- if (mask_cols) free(mask_cols);
2680
+ if (out_cols) {
2681
+ for (i = 0; i < n_cols; i++) {
2682
+ if (out_cols[i]) free(out_cols[i]);
2683
+ }
2684
+ free(out_cols);
2685
+ }
2686
+ if (mask_cols) {
2687
+ for (i = 0; i < n_cols; i++) {
2688
+ if (mask_cols[i]) free(mask_cols[i]);
2689
+ }
2690
+ free(mask_cols);
2691
+ }
2692
+ if (out_row_ids) free(out_row_ids);
2683
2693
  if (data_formats) free(data_formats);
2684
2694
  if (item_sizes) free(item_sizes);
2685
2695
 
@@ -2943,11 +2953,17 @@ static PyObject *dump_rowdat_1_numpy(PyObject *self, PyObject *args, PyObject *k
2943
2953
  out_l = 256 * n_cols;
2944
2954
  out_idx = 0;
2945
2955
  out = malloc(out_l);
2946
- if (!out) goto error;
2956
+ if (!out) {
2957
+ PyErr_SetString(PyExc_MemoryError, "failed to allocate output buffer");
2958
+ goto error;
2959
+ }
2947
2960
 
2948
2961
  // Get return types
2949
2962
  returns = malloc(sizeof(int) * n_cols);
2950
- if (!returns) goto error;
2963
+ if (!returns) {
2964
+ PyErr_SetString(PyExc_MemoryError, "failed to allocate returns array");
2965
+ goto error;
2966
+ }
2951
2967
 
2952
2968
  for (i = 0; i < n_cols; i++) {
2953
2969
  PyObject *py_item = PySequence_GetItem(py_returns, i);
@@ -2959,11 +2975,20 @@ static PyObject *dump_rowdat_1_numpy(PyObject *self, PyObject *args, PyObject *k
2959
2975
 
2960
2976
  // Get column array memory
2961
2977
  cols = calloc(sizeof(char*), n_cols);
2962
- if (!cols) goto error;
2978
+ if (!cols) {
2979
+ PyErr_SetString(PyExc_MemoryError, "failed to allocate cols array");
2980
+ goto error;
2981
+ }
2963
2982
  col_types = calloc(sizeof(NumpyColType), n_cols);
2964
- if (!col_types) goto error;
2983
+ if (!col_types) {
2984
+ PyErr_SetString(PyExc_MemoryError, "failed to allocate col_types array");
2985
+ goto error;
2986
+ }
2965
2987
  masks = calloc(sizeof(char*), n_cols);
2966
- if (!masks) goto error;
2988
+ if (!masks) {
2989
+ PyErr_SetString(PyExc_MemoryError, "failed to allocate masks array");
2990
+ goto error;
2991
+ }
2967
2992
  for (i = 0; i < n_cols; i++) {
2968
2993
  PyObject *py_item = PyList_GetItem(py_cols, i);
2969
2994
  if (!py_item) goto error;
@@ -2996,8 +3021,12 @@ static PyObject *dump_rowdat_1_numpy(PyObject *self, PyObject *args, PyObject *k
2996
3021
  #define CHECKMEM(x) \
2997
3022
  if ((out_idx + x) > out_l) { \
2998
3023
  out_l = out_l * 2 + x; \
2999
- out = realloc(out, out_l); \
3000
- if (!out) goto error; \
3024
+ char *new_out = realloc(out, out_l); \
3025
+ if (!new_out) { \
3026
+ PyErr_SetString(PyExc_MemoryError, "failed to reallocate output buffer"); \
3027
+ goto error; \
3028
+ } \
3029
+ out = new_out; \
3001
3030
  }
3002
3031
 
3003
3032
  for (j = 0; j < n_rows; j++) {
@@ -4079,10 +4108,10 @@ static PyObject *dump_rowdat_1_numpy(PyObject *self, PyObject *args, PyObject *k
4079
4108
  }
4080
4109
  }
4081
4110
 
4082
- py_out = PyMemoryView_FromMemory(out, out_idx, PyBUF_WRITE);
4083
- if (!py_out) goto error;
4111
+ py_out = PyBytes_FromStringAndSize(out, out_idx);
4084
4112
 
4085
4113
  exit:
4114
+ if (out) free(out);
4086
4115
  if (returns) free(returns);
4087
4116
  if (masks) free(masks);
4088
4117
  if (cols) free(cols);
@@ -4091,7 +4120,6 @@ exit:
4091
4120
  return py_out;
4092
4121
 
4093
4122
  error:
4094
- if (!py_out && out) free(out);
4095
4123
  Py_XDECREF(py_out);
4096
4124
  py_out = NULL;
4097
4125
 
@@ -4471,8 +4499,12 @@ static PyObject *dump_rowdat_1(PyObject *self, PyObject *args, PyObject *kwargs)
4471
4499
  #define CHECKMEM(x) \
4472
4500
  if ((out_idx + x) > out_l) { \
4473
4501
  out_l = out_l * 2 + x; \
4474
- out = realloc(out, out_l); \
4475
- if (!out) goto error; \
4502
+ char *new_out = realloc(out, out_l); \
4503
+ if (!new_out) { \
4504
+ PyErr_SetString(PyExc_MemoryError, "failed to reallocate output buffer"); \
4505
+ goto error; \
4506
+ } \
4507
+ out = new_out; \
4476
4508
  }
4477
4509
 
4478
4510
  py_rows_iter = PyObject_GetIter(py_rows);
@@ -4483,12 +4515,20 @@ static PyObject *dump_rowdat_1(PyObject *self, PyObject *args, PyObject *kwargs)
4483
4515
 
4484
4516
  while ((py_row = PyIter_Next(py_rows_iter))) {
4485
4517
  py_row_iter = PyObject_GetIter(py_row);
4486
- if (!py_row_iter) goto error;
4518
+ if (!py_row_iter) {
4519
+ Py_DECREF(py_row);
4520
+ goto error;
4521
+ }
4487
4522
 
4488
4523
  // First item is always a row ID
4489
4524
  py_item = PyIter_Next(py_row_ids_iter);
4490
- if (!py_item) goto error;
4525
+ if (!py_item) {
4526
+ Py_DECREF(py_row_iter);
4527
+ Py_DECREF(py_row);
4528
+ goto error;
4529
+ }
4491
4530
  row_id = (int64_t)PyLong_AsLongLong(py_item);
4531
+ Py_DECREF(py_item);
4492
4532
 
4493
4533
  CHECKMEM(8);
4494
4534
  memcpy(out+out_idx, &row_id, 8);
@@ -4631,12 +4671,16 @@ static PyObject *dump_rowdat_1(PyObject *self, PyObject *args, PyObject *kwargs)
4631
4671
  out_idx += 8;
4632
4672
  } else {
4633
4673
  PyObject *py_bytes = PyUnicode_AsEncodedString(py_item, "utf-8", "strict");
4634
- if (!py_bytes) goto error;
4674
+ if (!py_bytes) {
4675
+ Py_DECREF(py_item);
4676
+ goto error;
4677
+ }
4635
4678
 
4636
4679
  char *str = NULL;
4637
4680
  Py_ssize_t str_l = 0;
4638
4681
  if (PyBytes_AsStringAndSize(py_bytes, &str, &str_l) < 0) {
4639
4682
  Py_DECREF(py_bytes);
4683
+ Py_DECREF(py_item);
4640
4684
  goto error;
4641
4685
  }
4642
4686
 
@@ -4671,6 +4715,7 @@ static PyObject *dump_rowdat_1(PyObject *self, PyObject *args, PyObject *kwargs)
4671
4715
  char *str = NULL;
4672
4716
  Py_ssize_t str_l = 0;
4673
4717
  if (PyBytes_AsStringAndSize(py_item, &str, &str_l) < 0) {
4718
+ Py_DECREF(py_item);
4674
4719
  goto error;
4675
4720
  }
4676
4721
 
@@ -4684,6 +4729,7 @@ static PyObject *dump_rowdat_1(PyObject *self, PyObject *args, PyObject *kwargs)
4684
4729
  break;
4685
4730
 
4686
4731
  default:
4732
+ Py_DECREF(py_item);
4687
4733
  goto error;
4688
4734
  }
4689
4735
 
@@ -4693,14 +4739,17 @@ static PyObject *dump_rowdat_1(PyObject *self, PyObject *args, PyObject *kwargs)
4693
4739
  i++;
4694
4740
  }
4695
4741
 
4742
+ Py_DECREF(py_row_iter);
4696
4743
  Py_DECREF(py_row);
4744
+ py_row_iter = NULL;
4697
4745
  py_row = NULL;
4698
4746
  }
4699
4747
 
4700
- py_out = PyMemoryView_FromMemory(out, out_idx, PyBUF_WRITE);
4701
- if (!py_out) goto error;
4748
+ // Convert the output buffer to a Python bytes object and free the buffer
4749
+ py_out = PyBytes_FromStringAndSize(out, out_idx);
4702
4750
 
4703
4751
  exit:
4752
+ if (out) free(out);
4704
4753
  if (returns) free(returns);
4705
4754
 
4706
4755
  Py_XDECREF(py_item);
@@ -4712,7 +4761,6 @@ exit:
4712
4761
  return py_out;
4713
4762
 
4714
4763
  error:
4715
- if (!py_out && out) free(out);
4716
4764
  Py_XDECREF(py_out);
4717
4765
  py_out = NULL;
4718
4766
 
@@ -4839,7 +4887,7 @@ PyMODINIT_FUNC PyInit__singlestoredb_accel(void) {
4839
4887
 
4840
4888
  PyObj.create_numpy_array_kwargs = PyDict_New();
4841
4889
  if (!PyObj.create_numpy_array_kwargs) goto error;
4842
- if (PyDict_SetItemString(PyObj.create_numpy_array_kwargs, "copy", Py_False)) {
4890
+ if (PyDict_SetItemString(PyObj.create_numpy_array_kwargs, "copy", Py_True)) {
4843
4891
  goto error;
4844
4892
  }
4845
4893
 
@@ -1,6 +1,6 @@
1
1
  [metadata]
2
2
  name = singlestoredb
3
- version = 1.15.2
3
+ version = 1.15.3
4
4
  description = Interface to the SingleStoreDB database and workspace management APIs
5
5
  long_description = file: README.md
6
6
  long_description_content_type = text/markdown
@@ -13,7 +13,7 @@ Examples
13
13
 
14
14
  """
15
15
 
16
- __version__ = '1.15.2'
16
+ __version__ = '1.15.3'
17
17
 
18
18
  from typing import Any
19
19
 
@@ -269,7 +269,7 @@ class TestRowdat1(unittest.TestCase):
269
269
  def test_numpy_accel(self):
270
270
  dump_res = rowdat_1._dump_numpy_accel(
271
271
  col_types, numpy_row_ids, numpy_data,
272
- ).tobytes()
272
+ )
273
273
  load_res = rowdat_1._load_numpy_accel(col_spec, dump_res)
274
274
 
275
275
  ids = load_res[0]
@@ -294,7 +294,7 @@ class TestRowdat1(unittest.TestCase):
294
294
  def test_numpy(self):
295
295
  dump_res = rowdat_1._dump_numpy(
296
296
  col_types, numpy_row_ids, numpy_data,
297
- ).tobytes()
297
+ )
298
298
  load_res = rowdat_1._load_numpy(col_spec, dump_res)
299
299
 
300
300
  ids = load_res[0]
@@ -387,7 +387,7 @@ class TestRowdat1(unittest.TestCase):
387
387
  with self.assertRaises(res, msg=f'Expected {res} for {data} in {dtype}'):
388
388
  rowdat_1._dump_numpy_accel(
389
389
  [dtype], numpy_row_ids, [(arr, None)],
390
- ).tobytes()
390
+ )
391
391
 
392
392
  # Pure Python
393
393
  if 'mediumint exceeds' in name:
@@ -396,13 +396,13 @@ class TestRowdat1(unittest.TestCase):
396
396
  with self.assertRaises(res, msg=f'Expected {res} for {data} in {dtype}'):
397
397
  rowdat_1._dump_numpy(
398
398
  [dtype], numpy_row_ids, [(arr, None)],
399
- ).tobytes()
399
+ )
400
400
 
401
401
  else:
402
402
  # Accelerated
403
403
  dump_res = rowdat_1._dump_numpy_accel(
404
404
  [dtype], numpy_row_ids, [(arr, None)],
405
- ).tobytes()
405
+ )
406
406
  load_res = rowdat_1._load_numpy_accel([('x', dtype)], dump_res)
407
407
  assert load_res[1][0][0] == res, \
408
408
  f'Expected {res} for {data}, but got {load_res[1][0][0]} in {dtype}'
@@ -410,7 +410,7 @@ class TestRowdat1(unittest.TestCase):
410
410
  # Pure Python
411
411
  dump_res = rowdat_1._dump_numpy(
412
412
  [dtype], numpy_row_ids, [(arr, None)],
413
- ).tobytes()
413
+ )
414
414
  load_res = rowdat_1._load_numpy([('x', dtype)], dump_res)
415
415
  assert load_res[1][0][0] == res, \
416
416
  f'Expected {res} for {data}, but got {load_res[1][0][0]} in {dtype}'
@@ -788,7 +788,7 @@ class TestRowdat1(unittest.TestCase):
788
788
  # Accelerated
789
789
  dump_res = rowdat_1._dump_numpy_accel(
790
790
  [dtype], numpy_row_ids, [(data, None)],
791
- ).tobytes()
791
+ )
792
792
  load_res = rowdat_1._load_numpy_accel([('x', dtype)], dump_res)
793
793
 
794
794
  if name == 'double from float32':
@@ -800,7 +800,7 @@ class TestRowdat1(unittest.TestCase):
800
800
  # Pure Python
801
801
  dump_res = rowdat_1._dump_numpy(
802
802
  [dtype], numpy_row_ids, [(data, None)],
803
- ).tobytes()
803
+ )
804
804
  load_res = rowdat_1._load_numpy([('x', dtype)], dump_res)
805
805
 
806
806
  if name == 'double from float32':
@@ -812,7 +812,7 @@ class TestRowdat1(unittest.TestCase):
812
812
  def test_python(self):
813
813
  dump_res = rowdat_1._dump(
814
814
  col_types, py_row_ids, py_col_data,
815
- ).tobytes()
815
+ )
816
816
  load_res = rowdat_1._load(col_spec, dump_res)
817
817
 
818
818
  ids = load_res[0]
@@ -824,7 +824,7 @@ class TestRowdat1(unittest.TestCase):
824
824
  def test_python_accel(self):
825
825
  dump_res = rowdat_1._dump_accel(
826
826
  col_types, py_row_ids, py_col_data,
827
- ).tobytes()
827
+ )
828
828
  load_res = rowdat_1._load_accel(col_spec, dump_res)
829
829
 
830
830
  ids = load_res[0]
@@ -836,7 +836,7 @@ class TestRowdat1(unittest.TestCase):
836
836
  def test_polars(self):
837
837
  dump_res = rowdat_1._dump_polars(
838
838
  col_types, polars_row_ids, polars_data,
839
- ).tobytes()
839
+ )
840
840
  load_res = rowdat_1._load_polars(col_spec, dump_res)
841
841
 
842
842
  ids = load_res[0]
@@ -861,7 +861,7 @@ class TestRowdat1(unittest.TestCase):
861
861
  def test_polars_accel(self):
862
862
  dump_res = rowdat_1._dump_polars_accel(
863
863
  col_types, polars_row_ids, polars_data,
864
- ).tobytes()
864
+ )
865
865
  load_res = rowdat_1._load_polars_accel(col_spec, dump_res)
866
866
 
867
867
  ids = load_res[0]
@@ -886,7 +886,7 @@ class TestRowdat1(unittest.TestCase):
886
886
  def test_pandas(self):
887
887
  dump_res = rowdat_1._dump_pandas(
888
888
  col_types, pandas_row_ids, pandas_data,
889
- ).tobytes()
889
+ )
890
890
  load_res = rowdat_1._load_pandas(col_spec, dump_res)
891
891
 
892
892
  ids = load_res[0]
@@ -911,7 +911,7 @@ class TestRowdat1(unittest.TestCase):
911
911
  def test_pandas_accel(self):
912
912
  dump_res = rowdat_1._dump_pandas_accel(
913
913
  col_types, pandas_row_ids, pandas_data,
914
- ).tobytes()
914
+ )
915
915
  load_res = rowdat_1._load_pandas_accel(col_spec, dump_res)
916
916
 
917
917
  ids = load_res[0]
@@ -936,7 +936,7 @@ class TestRowdat1(unittest.TestCase):
936
936
  def test_pyarrow(self):
937
937
  dump_res = rowdat_1._dump_arrow(
938
938
  col_types, pyarrow_row_ids, pyarrow_data,
939
- ).tobytes()
939
+ )
940
940
  load_res = rowdat_1._load_arrow(col_spec, dump_res)
941
941
 
942
942
  ids = load_res[0]
@@ -961,7 +961,7 @@ class TestRowdat1(unittest.TestCase):
961
961
  def test_pyarrow_accel(self):
962
962
  dump_res = rowdat_1._dump_arrow_accel(
963
963
  col_types, pyarrow_row_ids, pyarrow_data,
964
- ).tobytes()
964
+ )
965
965
  load_res = rowdat_1._load_arrow_accel(col_spec, dump_res)
966
966
 
967
967
  ids = load_res[0]
@@ -1053,7 +1053,7 @@ class TestJSON(unittest.TestCase):
1053
1053
  def test_pandas(self):
1054
1054
  dump_res = rowdat_1._dump_pandas(
1055
1055
  col_types, pandas_row_ids, pandas_data,
1056
- ).tobytes()
1056
+ )
1057
1057
  load_res = rowdat_1._load_pandas(col_spec, dump_res)
1058
1058
 
1059
1059
  ids = load_res[0]
@@ -1078,7 +1078,7 @@ class TestJSON(unittest.TestCase):
1078
1078
  def test_pyarrow(self):
1079
1079
  dump_res = rowdat_1._dump_arrow(
1080
1080
  col_types, pyarrow_row_ids, pyarrow_data,
1081
- ).tobytes()
1081
+ )
1082
1082
  load_res = rowdat_1._load_arrow(col_spec, dump_res)
1083
1083
 
1084
1084
  ids = load_res[0]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.15.2
3
+ Version: 1.15.3
4
4
  Summary: Interface to the SingleStoreDB database and workspace management APIs
5
5
  Home-page: https://github.com/singlestore-labs/singlestoredb-python
6
6
  Author: SingleStore
File without changes
File without changes
File without changes