singlestoredb 1.15.2__tar.gz → 1.15.4__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.
- {singlestoredb-1.15.2/singlestoredb.egg-info → singlestoredb-1.15.4}/PKG-INFO +1 -1
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/accel.c +70 -22
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/setup.cfg +1 -1
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/__init__.py +1 -1
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/http/connection.py +7 -5
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/protocol.py +15 -2
- singlestoredb-1.15.4/singlestoredb/tests/alltypes.sql +307 -0
- singlestoredb-1.15.4/singlestoredb/tests/alltypes_no_nulls.sql +208 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_connection.py +18 -18
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_ext_func_data.py +18 -18
- {singlestoredb-1.15.2 → singlestoredb-1.15.4/singlestoredb.egg-info}/PKG-INFO +1 -1
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb.egg-info/SOURCES.txt +2 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/LICENSE +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/README.md +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/setup.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/ai/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/ai/chat.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/ai/embeddings.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/alchemy/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_cloud_functions.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_config.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_connection_info.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_dashboards.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_process.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_python_udfs.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_stdout_supress.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/apps/_uvicorn_util.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/auth.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/config.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/connection.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/converters.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/attrdoc.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/common.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/epydoc.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/google.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/numpydoc.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/parser.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/py.typed +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/rest.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/_pydoctor.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_epydoc.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_google.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_numpydoc.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_parse_from_object.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_parser.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_rest.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_util.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/docstring/util.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/exceptions.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/decorator.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/dtypes.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/arrow.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/asgi.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/json.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/mmap.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/rowdat_1.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/timer.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/ext/utils.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/signature.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/typing/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/typing/numpy.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/typing/pandas.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/typing/polars.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/typing/pyarrow.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/functions/utils.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/graphql.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handler.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/export.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/files.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/job.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/models.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/stage.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/utils.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/workspace.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/registry.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/fusion/result.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/http/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/magics/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/magics/run_personal.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/magics/run_shared.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/billing_usage.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/cluster.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/export.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/files.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/inference_api.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/job.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/manager.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/organization.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/region.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/utils.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/management/workspace.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/_auth.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/charset.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/connection.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/CLIENT.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/COMMAND.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/CR.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/ER.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/EXTENDED_TYPE.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/FIELD_TYPE.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/FLAG.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/SERVER_STATUS.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/VECTOR_TYPE.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/converters.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/cursors.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/err.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/optionfile.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/base.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/conftest.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_DictCursor.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_SSCursor.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_basic.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_connection.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_converters.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_cursor.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_err.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_issues.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_load_local.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_nextset.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_optionfile.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/capabilities.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/dbapi20.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/mysql/times.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/notebook/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/notebook/_objects.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/notebook/_portal.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/py.typed +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/pytest.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/server/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/server/docker.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/server/free_tier.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/empty.sql +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/ext_funcs/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/local_infile.csv +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test.ipynb +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test.sql +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test2.ipynb +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test2.sql +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_basics.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_config.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_dbapi.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_exceptions.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_ext_func.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_fusion.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_http.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_management.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_plugin.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_results.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_types.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_udf.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_udf_returns.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_vectorstore.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/test_xdict.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/tests/utils.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/types.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/config.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/convert_rows.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/debug.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/dtypes.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/events.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/mogrify.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/results.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/utils/xdict.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb/vectorstore.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb.egg-info/dependency_links.txt +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb.egg-info/entry_points.txt +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb.egg-info/requires.txt +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/singlestoredb.egg-info/top_level.txt +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/sqlx/__init__.py +0 -0
- {singlestoredb-1.15.2 → singlestoredb-1.15.4}/sqlx/magic.py +0 -0
|
@@ -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)
|
|
2682
|
-
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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
|
-
|
|
3000
|
-
if (!
|
|
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 =
|
|
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
|
-
|
|
4475
|
-
if (!
|
|
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)
|
|
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)
|
|
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)
|
|
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
|
-
|
|
4701
|
-
|
|
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",
|
|
4890
|
+
if (PyDict_SetItemString(PyObj.create_numpy_array_kwargs, "copy", Py_True)) {
|
|
4843
4891
|
goto error;
|
|
4844
4892
|
}
|
|
4845
4893
|
|
|
@@ -647,23 +647,24 @@ class Cursor(connection.Cursor):
|
|
|
647
647
|
type_code = types.ColumnType.get_code(data_type)
|
|
648
648
|
prec, scale = get_precision_scale(col['dataType'])
|
|
649
649
|
converter = http_converters.get(type_code, None)
|
|
650
|
+
|
|
650
651
|
if 'UNSIGNED' in data_type:
|
|
651
652
|
flags = 32
|
|
653
|
+
|
|
652
654
|
if data_type.endswith('BLOB') or data_type.endswith('BINARY'):
|
|
653
655
|
converter = functools.partial(
|
|
654
656
|
b64decode_converter, converter, # type: ignore
|
|
655
657
|
)
|
|
656
658
|
charset = 63 # BINARY
|
|
659
|
+
|
|
657
660
|
if type_code == 0: # DECIMAL
|
|
658
661
|
type_code = types.ColumnType.get_code('NEWDECIMAL')
|
|
659
662
|
elif type_code == 15: # VARCHAR / VARBINARY
|
|
660
663
|
type_code = types.ColumnType.get_code('VARSTRING')
|
|
661
|
-
|
|
662
|
-
prec += 1 # for sign
|
|
663
|
-
if scale is not None and scale > 0:
|
|
664
|
-
prec += 1 # for decimal
|
|
664
|
+
|
|
665
665
|
if converter is not None:
|
|
666
666
|
convs.append((i, None, converter))
|
|
667
|
+
|
|
667
668
|
description.append(
|
|
668
669
|
Description(
|
|
669
670
|
str(col['name']), type_code,
|
|
@@ -673,6 +674,7 @@ class Cursor(connection.Cursor):
|
|
|
673
674
|
),
|
|
674
675
|
)
|
|
675
676
|
pymy_res.append(PyMyField(col['name'], flags, charset))
|
|
677
|
+
|
|
676
678
|
self._descriptions.append(description)
|
|
677
679
|
self._schemas.append(get_schema(self._results_type, description))
|
|
678
680
|
|
|
@@ -936,7 +938,7 @@ class Cursor(connection.Cursor):
|
|
|
936
938
|
|
|
937
939
|
def __iter__(self) -> Iterable[Tuple[Any, ...]]:
|
|
938
940
|
"""Return result iterator."""
|
|
939
|
-
return iter(self._rows)
|
|
941
|
+
return iter(self._rows[self._row_idx:])
|
|
940
942
|
|
|
941
943
|
def __enter__(self) -> 'Cursor':
|
|
942
944
|
"""Enter a context."""
|
|
@@ -324,13 +324,26 @@ class FieldDescriptorPacket(MysqlPacket):
|
|
|
324
324
|
raise TypeError(f'unrecognized extended data type: {ext_type_code}')
|
|
325
325
|
|
|
326
326
|
def description(self):
|
|
327
|
-
"""
|
|
327
|
+
"""
|
|
328
|
+
Provides a 9-item tuple.
|
|
329
|
+
|
|
330
|
+
Standard descriptions only have 7 fields according to the Python
|
|
331
|
+
PEP249 DB Spec, but we need to surface information about unsigned
|
|
332
|
+
types and charsetnr for proper type handling.
|
|
333
|
+
|
|
334
|
+
"""
|
|
335
|
+
precision = self.get_column_length()
|
|
336
|
+
if self.type_code in (FIELD_TYPE.DECIMAL, FIELD_TYPE.NEWDECIMAL):
|
|
337
|
+
if precision:
|
|
338
|
+
precision -= 1 # for the sign
|
|
339
|
+
if self.scale > 0:
|
|
340
|
+
precision -= 1 # for the decimal point
|
|
328
341
|
return Description(
|
|
329
342
|
self.name,
|
|
330
343
|
self.type_code,
|
|
331
344
|
None, # TODO: display_length; should this be self.length?
|
|
332
345
|
self.get_column_length(), # 'internal_size'
|
|
333
|
-
|
|
346
|
+
precision, # 'precision'
|
|
334
347
|
self.scale,
|
|
335
348
|
self.flags % 2 == 0,
|
|
336
349
|
self.flags,
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS alltypes (
|
|
2
|
+
`id` INT(11),
|
|
3
|
+
`tinyint` TINYINT,
|
|
4
|
+
`unsigned_tinyint` TINYINT UNSIGNED,
|
|
5
|
+
`bool` BOOL,
|
|
6
|
+
`boolean` BOOLEAN,
|
|
7
|
+
`smallint` SMALLINT,
|
|
8
|
+
`unsigned_smallint` SMALLINT UNSIGNED,
|
|
9
|
+
`mediumint` MEDIUMINT,
|
|
10
|
+
`unsigned_mediumint` MEDIUMINT UNSIGNED,
|
|
11
|
+
`int24` MEDIUMINT,
|
|
12
|
+
`unsigned_int24` MEDIUMINT UNSIGNED,
|
|
13
|
+
`int` INT,
|
|
14
|
+
`unsigned_int` INT UNSIGNED,
|
|
15
|
+
`integer` INTEGER,
|
|
16
|
+
`unsigned_integer` INTEGER UNSIGNED,
|
|
17
|
+
`bigint` BIGINT,
|
|
18
|
+
`unsigned_bigint` BIGINT UNSIGNED,
|
|
19
|
+
`float` FLOAT,
|
|
20
|
+
`double` DOUBLE,
|
|
21
|
+
`real` REAL,
|
|
22
|
+
`decimal` DECIMAL(20,6),
|
|
23
|
+
`dec` DEC(20,6),
|
|
24
|
+
`fixed` FIXED(20,6),
|
|
25
|
+
`numeric` NUMERIC(20,6),
|
|
26
|
+
`date` DATE,
|
|
27
|
+
`time` TIME,
|
|
28
|
+
`time_6` TIME(6),
|
|
29
|
+
`datetime` DATETIME,
|
|
30
|
+
`datetime_6` DATETIME(6),
|
|
31
|
+
`timestamp` TIMESTAMP,
|
|
32
|
+
`timestamp_6` TIMESTAMP(6),
|
|
33
|
+
`year` YEAR,
|
|
34
|
+
`char_100` CHAR(100),
|
|
35
|
+
`binary_100` BINARY(100),
|
|
36
|
+
`varchar_200` VARCHAR(200),
|
|
37
|
+
`varbinary_200` VARBINARY(200),
|
|
38
|
+
`longtext` LONGTEXT,
|
|
39
|
+
`mediumtext` MEDIUMTEXT,
|
|
40
|
+
`text` TEXT,
|
|
41
|
+
`tinytext` TINYTEXT,
|
|
42
|
+
`longblob` LONGBLOB,
|
|
43
|
+
`mediumblob` MEDIUMBLOB,
|
|
44
|
+
`blob` BLOB,
|
|
45
|
+
`tinyblob` TINYBLOB,
|
|
46
|
+
`json` JSON,
|
|
47
|
+
-- `geographypoint` GEOGRAPHYPOINT,
|
|
48
|
+
-- `geography` GEOGRAPHY,
|
|
49
|
+
`enum` ENUM('one', 'two', 'three'),
|
|
50
|
+
`set` SET('one', 'two', 'three'),
|
|
51
|
+
`bit` BIT
|
|
52
|
+
)
|
|
53
|
+
COLLATE='utf8_unicode_ci';
|
|
54
|
+
|
|
55
|
+
INSERT INTO alltypes SET
|
|
56
|
+
`id`=0,
|
|
57
|
+
`tinyint`=80,
|
|
58
|
+
`unsigned_tinyint`=85,
|
|
59
|
+
`bool`=0,
|
|
60
|
+
`boolean`=1,
|
|
61
|
+
`smallint`=-27897,
|
|
62
|
+
`unsigned_smallint`=27897,
|
|
63
|
+
`mediumint`=104729,
|
|
64
|
+
`unsigned_mediumint`=120999,
|
|
65
|
+
`int24`=-200899,
|
|
66
|
+
`unsigned_int24`=407709,
|
|
67
|
+
`int`=-1295369311,
|
|
68
|
+
`unsigned_int`=3872362332,
|
|
69
|
+
`integer`=-1741727421,
|
|
70
|
+
`unsigned_integer`=3198387363,
|
|
71
|
+
`bigint`=-266883847,
|
|
72
|
+
`unsigned_bigint`=980007287362,
|
|
73
|
+
`float`=-146486683.754744,
|
|
74
|
+
`double`=-474646154.719356,
|
|
75
|
+
`real`=-901409776.279346,
|
|
76
|
+
`decimal`=28111097.610822,
|
|
77
|
+
`dec`=389451155.931428,
|
|
78
|
+
`fixed`=-143773416.044092,
|
|
79
|
+
`numeric`=866689461.300046,
|
|
80
|
+
`date`='8524-11-10',
|
|
81
|
+
`time`='00:07:00',
|
|
82
|
+
`time_6`='01:10:00.000002',
|
|
83
|
+
`datetime`='9948-03-11 15:29:22',
|
|
84
|
+
`datetime_6`='1756-10-29 02:02:42.000008',
|
|
85
|
+
`timestamp`='1980-12-31 01:10:23',
|
|
86
|
+
`timestamp_6`='1991-01-02 22:15:10.000006',
|
|
87
|
+
`year`=1923,
|
|
88
|
+
`char_100`='This is a test of a 100 character column.',
|
|
89
|
+
`binary_100`=x'000102030405060708090A0B0C0D0E0F',
|
|
90
|
+
`varchar_200`='This is a test of a variable character column.',
|
|
91
|
+
`varbinary_200`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
92
|
+
`longtext`='This is a longtext column.',
|
|
93
|
+
`mediumtext`='This is a mediumtext column.',
|
|
94
|
+
`text`='This is a text column.',
|
|
95
|
+
`tinytext`='This is a tinytext column.',
|
|
96
|
+
`longblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
97
|
+
`mediumblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
98
|
+
`blob`=x'000102030405060708090A0B0C0D0E0F',
|
|
99
|
+
`tinyblob`=x'0A0B0C0D0E0F',
|
|
100
|
+
`json`='{"a": 10, "b": 2.75, "c": "hello world"}',
|
|
101
|
+
`enum`='one',
|
|
102
|
+
`set`='two',
|
|
103
|
+
`bit`=128
|
|
104
|
+
;
|
|
105
|
+
|
|
106
|
+
INSERT INTO alltypes SET
|
|
107
|
+
`id`=1,
|
|
108
|
+
`tinyint`=NULL,
|
|
109
|
+
`bool`=NULL,
|
|
110
|
+
`boolean`=NULL,
|
|
111
|
+
`smallint`=NULL,
|
|
112
|
+
`mediumint`=NULL,
|
|
113
|
+
`int24`=NULL,
|
|
114
|
+
`int`=NULL,
|
|
115
|
+
`integer`=NULL,
|
|
116
|
+
`bigint`=NULL,
|
|
117
|
+
`float`=NULL,
|
|
118
|
+
`double`=NULL,
|
|
119
|
+
`real`=NULL,
|
|
120
|
+
`decimal`=NULL,
|
|
121
|
+
`dec`=NULL,
|
|
122
|
+
`fixed`=NULL,
|
|
123
|
+
`numeric`=NULL,
|
|
124
|
+
`date`=NULL,
|
|
125
|
+
`time`=NULL,
|
|
126
|
+
`time_6`=NULL,
|
|
127
|
+
`datetime`=NULL,
|
|
128
|
+
`datetime_6`=NULL,
|
|
129
|
+
`timestamp`=NULL,
|
|
130
|
+
`timestamp_6`=NULL,
|
|
131
|
+
`year`=NULL,
|
|
132
|
+
`char_100`=NULL,
|
|
133
|
+
`binary_100`=NULL,
|
|
134
|
+
`varchar_200`=NULL,
|
|
135
|
+
`longtext`=NULL,
|
|
136
|
+
`mediumtext`=NULL,
|
|
137
|
+
`text`=NULL,
|
|
138
|
+
`tinytext`=NULL,
|
|
139
|
+
`longblob`=NULL,
|
|
140
|
+
`mediumblob`=NULL,
|
|
141
|
+
`blob`=NULL,
|
|
142
|
+
`tinyblob`=NULL,
|
|
143
|
+
`json`=NULL,
|
|
144
|
+
`enum`=NULL,
|
|
145
|
+
`set`=NULL,
|
|
146
|
+
`bit`=NULL
|
|
147
|
+
;
|
|
148
|
+
|
|
149
|
+
-- Minimum values
|
|
150
|
+
INSERT INTO alltypes SET
|
|
151
|
+
`id`=2,
|
|
152
|
+
`tinyint`=-128,
|
|
153
|
+
`unsigned_tinyint`=0,
|
|
154
|
+
`bool`=-128,
|
|
155
|
+
`boolean`=-128,
|
|
156
|
+
`smallint`=-32768,
|
|
157
|
+
`unsigned_smallint`=0,
|
|
158
|
+
`mediumint`=-8388608,
|
|
159
|
+
`unsigned_mediumint`=0,
|
|
160
|
+
`int24`=-8388608,
|
|
161
|
+
`unsigned_int24`=0,
|
|
162
|
+
`int`=-2147483648,
|
|
163
|
+
`unsigned_int`=0,
|
|
164
|
+
`integer`=-2147483648,
|
|
165
|
+
`unsigned_integer`=0,
|
|
166
|
+
`bigint`=-9223372036854775808,
|
|
167
|
+
`unsigned_bigint`=0,
|
|
168
|
+
`float`=0,
|
|
169
|
+
`double`=-1.7976931348623158e308,
|
|
170
|
+
`real`=-1.7976931348623158e308,
|
|
171
|
+
`decimal`=-99999999999999.999999,
|
|
172
|
+
`dec`=-99999999999999.999999,
|
|
173
|
+
`fixed`=-99999999999999.999999,
|
|
174
|
+
`numeric`=-99999999999999.999999,
|
|
175
|
+
`date`='1000-01-01',
|
|
176
|
+
`time`='-838:59:59',
|
|
177
|
+
`time_6`='-838:59:59.000000',
|
|
178
|
+
`datetime`='1000-01-01 00:00:00',
|
|
179
|
+
`datetime_6`='1000-01-01 00:00:00.000000',
|
|
180
|
+
`timestamp`='1970-01-01 00:00:01',
|
|
181
|
+
`timestamp_6`='1970-01-01 00:00:01.000000',
|
|
182
|
+
`year`=1901,
|
|
183
|
+
`char_100`='',
|
|
184
|
+
`binary_100`=x'',
|
|
185
|
+
`varchar_200`='',
|
|
186
|
+
`varbinary_200`=x'',
|
|
187
|
+
`longtext`='',
|
|
188
|
+
`mediumtext`='',
|
|
189
|
+
`text`='',
|
|
190
|
+
`tinytext`='',
|
|
191
|
+
`longblob`=x'',
|
|
192
|
+
`mediumblob`=x'',
|
|
193
|
+
`blob`=x'',
|
|
194
|
+
`tinyblob`=x'',
|
|
195
|
+
`json`='{}',
|
|
196
|
+
`enum`='one',
|
|
197
|
+
`set`='two',
|
|
198
|
+
`bit`=0
|
|
199
|
+
;
|
|
200
|
+
|
|
201
|
+
-- Maximum values
|
|
202
|
+
INSERT INTO alltypes SET
|
|
203
|
+
`id`=3,
|
|
204
|
+
`tinyint`=127,
|
|
205
|
+
`unsigned_tinyint`=255,
|
|
206
|
+
`bool`=127,
|
|
207
|
+
`boolean`=127,
|
|
208
|
+
`smallint`=32767,
|
|
209
|
+
`unsigned_smallint`=65535,
|
|
210
|
+
`mediumint`=8388607,
|
|
211
|
+
`unsigned_mediumint`=16777215,
|
|
212
|
+
`int24`=8388607,
|
|
213
|
+
`unsigned_int24`=16777215,
|
|
214
|
+
`int`=2147483647,
|
|
215
|
+
`unsigned_int`=4294967295,
|
|
216
|
+
`integer`=2147483647,
|
|
217
|
+
`unsigned_integer`=4294967295,
|
|
218
|
+
`bigint`=9223372036854775807,
|
|
219
|
+
`unsigned_bigint`=18446744073709551615,
|
|
220
|
+
`float`=0,
|
|
221
|
+
`double`=1.7976931348623158e308,
|
|
222
|
+
`real`=1.7976931348623158e308,
|
|
223
|
+
`decimal`=99999999999999.999999,
|
|
224
|
+
`dec`=99999999999999.999999,
|
|
225
|
+
`fixed`=99999999999999.999999,
|
|
226
|
+
`numeric`=99999999999999.999999,
|
|
227
|
+
`date`='9999-12-31',
|
|
228
|
+
`time`='838:59:59',
|
|
229
|
+
`time_6`='838:59:59.999999',
|
|
230
|
+
`datetime`='9999-12-31 23:59:59',
|
|
231
|
+
`datetime_6`='9999-12-31 23:59:59.999999',
|
|
232
|
+
`timestamp`='2038-01-18 21:14:07',
|
|
233
|
+
`timestamp_6`='2038-01-18 21:14:07.999999',
|
|
234
|
+
`year`=2155,
|
|
235
|
+
`char_100`='',
|
|
236
|
+
`binary_100`=x'',
|
|
237
|
+
`varchar_200`='',
|
|
238
|
+
`varbinary_200`=x'',
|
|
239
|
+
`longtext`='',
|
|
240
|
+
`mediumtext`='',
|
|
241
|
+
`text`='',
|
|
242
|
+
`tinytext`='',
|
|
243
|
+
`longblob`=x'',
|
|
244
|
+
`mediumblob`=x'',
|
|
245
|
+
`blob`=x'',
|
|
246
|
+
`tinyblob`=x'',
|
|
247
|
+
`json`='{}',
|
|
248
|
+
`enum`='one',
|
|
249
|
+
`set`='two',
|
|
250
|
+
`bit`=18446744073709551615
|
|
251
|
+
;
|
|
252
|
+
|
|
253
|
+
-- Zero values
|
|
254
|
+
--
|
|
255
|
+
-- Note that v8 of SingleStoreDB does not allow zero date/times by
|
|
256
|
+
-- default, so they are set to NULL here.
|
|
257
|
+
--
|
|
258
|
+
INSERT INTO alltypes SET
|
|
259
|
+
`id`=4,
|
|
260
|
+
`tinyint`=0,
|
|
261
|
+
`unsigned_tinyint`=0,
|
|
262
|
+
`bool`=0,
|
|
263
|
+
`boolean`=0,
|
|
264
|
+
`smallint`=0,
|
|
265
|
+
`unsigned_smallint`=0,
|
|
266
|
+
`mediumint`=0,
|
|
267
|
+
`unsigned_mediumint`=0,
|
|
268
|
+
`int24`=0,
|
|
269
|
+
`unsigned_int24`=0,
|
|
270
|
+
`int`=0,
|
|
271
|
+
`unsigned_int`=0,
|
|
272
|
+
`integer`=0,
|
|
273
|
+
`unsigned_integer`=0,
|
|
274
|
+
`bigint`=0,
|
|
275
|
+
`unsigned_bigint`=0,
|
|
276
|
+
`float`=0,
|
|
277
|
+
`double`=0.0,
|
|
278
|
+
`real`=0.0,
|
|
279
|
+
`decimal`=0.0,
|
|
280
|
+
`dec`=0.0,
|
|
281
|
+
`fixed`=0.0,
|
|
282
|
+
`numeric`=0.0,
|
|
283
|
+
`date`=NULL,
|
|
284
|
+
`time`='00:00:00',
|
|
285
|
+
`time_6`='00:00:00.000000',
|
|
286
|
+
`datetime`=NULL,
|
|
287
|
+
`datetime_6`=NULL,
|
|
288
|
+
`timestamp`=NULL,
|
|
289
|
+
`timestamp_6`=NULL,
|
|
290
|
+
`year`=NULL,
|
|
291
|
+
`char_100`='',
|
|
292
|
+
`binary_100`=x'',
|
|
293
|
+
`varchar_200`='',
|
|
294
|
+
`varbinary_200`=x'',
|
|
295
|
+
`longtext`='',
|
|
296
|
+
`mediumtext`='',
|
|
297
|
+
`text`='',
|
|
298
|
+
`tinytext`='',
|
|
299
|
+
`longblob`=x'',
|
|
300
|
+
`mediumblob`=x'',
|
|
301
|
+
`blob`=x'',
|
|
302
|
+
`tinyblob`=x'',
|
|
303
|
+
`json`='{}',
|
|
304
|
+
`enum`='one',
|
|
305
|
+
`set`='two',
|
|
306
|
+
`bit`=0
|
|
307
|
+
;
|