singlestoredb 1.15.3__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.3/singlestoredb.egg-info → singlestoredb-1.15.4}/PKG-INFO +1 -1
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/setup.cfg +1 -1
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/__init__.py +1 -1
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/http/connection.py +7 -5
- {singlestoredb-1.15.3 → 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.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_connection.py +18 -18
- {singlestoredb-1.15.3 → singlestoredb-1.15.4/singlestoredb.egg-info}/PKG-INFO +1 -1
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb.egg-info/SOURCES.txt +2 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/LICENSE +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/README.md +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/accel.c +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/setup.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/ai/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/ai/chat.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/ai/embeddings.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/alchemy/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_cloud_functions.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_config.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_connection_info.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_dashboards.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_process.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_python_udfs.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_stdout_supress.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/apps/_uvicorn_util.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/auth.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/config.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/connection.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/converters.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/attrdoc.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/common.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/epydoc.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/google.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/numpydoc.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/parser.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/py.typed +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/rest.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/_pydoctor.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_epydoc.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_google.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_numpydoc.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_parse_from_object.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_parser.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_rest.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/tests/test_util.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/docstring/util.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/exceptions.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/decorator.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/dtypes.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/arrow.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/asgi.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/json.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/mmap.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/rowdat_1.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/timer.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/ext/utils.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/signature.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/typing/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/typing/numpy.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/typing/pandas.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/typing/polars.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/typing/pyarrow.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/functions/utils.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/graphql.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handler.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/export.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/files.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/job.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/models.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/stage.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/utils.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/handlers/workspace.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/registry.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/fusion/result.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/http/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/magics/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/magics/run_personal.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/magics/run_shared.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/billing_usage.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/cluster.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/export.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/files.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/inference_api.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/job.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/manager.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/organization.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/region.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/utils.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/management/workspace.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/_auth.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/charset.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/connection.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/CLIENT.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/COMMAND.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/CR.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/ER.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/EXTENDED_TYPE.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/FIELD_TYPE.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/FLAG.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/SERVER_STATUS.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/VECTOR_TYPE.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/constants/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/converters.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/cursors.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/err.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/optionfile.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/base.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/conftest.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_DictCursor.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_SSCursor.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_basic.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_connection.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_converters.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_cursor.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_err.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_issues.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_load_local.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_nextset.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/test_optionfile.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/capabilities.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/dbapi20.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_capabilities.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_dbapi20.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/tests/thirdparty/test_MySQLdb/test_MySQLdb_nonstandard.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/mysql/times.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/notebook/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/notebook/_objects.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/notebook/_portal.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/py.typed +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/pytest.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/server/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/server/docker.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/server/free_tier.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/empty.sql +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/ext_funcs/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/local_infile.csv +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test.ipynb +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test.sql +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test2.ipynb +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test2.sql +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_basics.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_config.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_dbapi.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_exceptions.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_ext_func.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_ext_func_data.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_fusion.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_http.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_management.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_plugin.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_results.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_types.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_udf.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_udf_returns.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_vectorstore.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/test_xdict.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/tests/utils.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/types.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/config.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/convert_rows.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/debug.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/dtypes.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/events.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/mogrify.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/results.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/utils/xdict.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb/vectorstore.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb.egg-info/dependency_links.txt +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb.egg-info/entry_points.txt +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb.egg-info/requires.txt +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/singlestoredb.egg-info/top_level.txt +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/sqlx/__init__.py +0 -0
- {singlestoredb-1.15.3 → singlestoredb-1.15.4}/sqlx/magic.py +0 -0
|
@@ -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
|
+
;
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS alltypes_no_nulls (
|
|
2
|
+
`id` INT(11) NOT NULL,
|
|
3
|
+
`tinyint` TINYINT NOT NULL,
|
|
4
|
+
`unsigned_tinyint` TINYINT UNSIGNED NOT NULL,
|
|
5
|
+
`bool` BOOL NOT NULL,
|
|
6
|
+
`boolean` BOOLEAN NOT NULL,
|
|
7
|
+
`smallint` SMALLINT NOT NULL,
|
|
8
|
+
`unsigned_smallint` SMALLINT UNSIGNED NOT NULL,
|
|
9
|
+
`mediumint` MEDIUMINT NOT NULL,
|
|
10
|
+
`unsigned_mediumint` MEDIUMINT UNSIGNED NOT NULL,
|
|
11
|
+
`int24` MEDIUMINT NOT NULL,
|
|
12
|
+
`unsigned_int24` MEDIUMINT UNSIGNED NOT NULL,
|
|
13
|
+
`int` INT NOT NULL,
|
|
14
|
+
`unsigned_int` INT UNSIGNED NOT NULL,
|
|
15
|
+
`integer` INTEGER NOT NULL,
|
|
16
|
+
`unsigned_integer` INTEGER UNSIGNED NOT NULL,
|
|
17
|
+
`bigint` BIGINT NOT NULL,
|
|
18
|
+
`unsigned_bigint` BIGINT UNSIGNED NOT NULL,
|
|
19
|
+
`float` FLOAT NOT NULL,
|
|
20
|
+
`double` DOUBLE NOT NULL,
|
|
21
|
+
`real` REAL NOT NULL,
|
|
22
|
+
`decimal` DECIMAL(20,6) NOT NULL,
|
|
23
|
+
`dec` DEC(20,6) NOT NULL,
|
|
24
|
+
`fixed` FIXED(20,6) NOT NULL,
|
|
25
|
+
`numeric` NUMERIC(20,6) NOT NULL,
|
|
26
|
+
`date` DATE NOT NULL,
|
|
27
|
+
`time` TIME NOT NULL,
|
|
28
|
+
`time_6` TIME(6) NOT NULL,
|
|
29
|
+
`datetime` DATETIME NOT NULL,
|
|
30
|
+
`datetime_6` DATETIME(6) NOT NULL,
|
|
31
|
+
`timestamp` TIMESTAMP NOT NULL,
|
|
32
|
+
`timestamp_6` TIMESTAMP(6) NOT NULL,
|
|
33
|
+
`year` YEAR NOT NULL,
|
|
34
|
+
`char_100` CHAR(100) NOT NULL,
|
|
35
|
+
`binary_100` BINARY(100) NOT NULL,
|
|
36
|
+
`varchar_200` VARCHAR(200) NOT NULL,
|
|
37
|
+
`varbinary_200` VARBINARY(200) NOT NULL,
|
|
38
|
+
`longtext` LONGTEXT NOT NULL,
|
|
39
|
+
`mediumtext` MEDIUMTEXT NOT NULL,
|
|
40
|
+
`text` TEXT NOT NULL,
|
|
41
|
+
`tinytext` TINYTEXT NOT NULL,
|
|
42
|
+
`longblob` LONGBLOB NOT NULL,
|
|
43
|
+
`mediumblob` MEDIUMBLOB NOT NULL,
|
|
44
|
+
`blob` BLOB NOT NULL,
|
|
45
|
+
`tinyblob` TINYBLOB NOT NULL,
|
|
46
|
+
`json` JSON NOT NULL,
|
|
47
|
+
-- `geographypoint` GEOGRAPHYPOINT NOT NULL,
|
|
48
|
+
-- `geography` GEOGRAPHY NOT NULL,
|
|
49
|
+
`enum` ENUM('one', 'two', 'three') NOT NULL,
|
|
50
|
+
`set` SET('one', 'two', 'three') NOT NULL,
|
|
51
|
+
`bit` BIT NOT NULL
|
|
52
|
+
)
|
|
53
|
+
COLLATE='utf8_unicode_ci';
|
|
54
|
+
|
|
55
|
+
INSERT INTO alltypes_no_nulls 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
|
+
-- Minimum values
|
|
107
|
+
INSERT INTO alltypes_no_nulls SET
|
|
108
|
+
`id`=2,
|
|
109
|
+
`tinyint`=-128,
|
|
110
|
+
`unsigned_tinyint`=0,
|
|
111
|
+
`bool`=-128,
|
|
112
|
+
`boolean`=-128,
|
|
113
|
+
`smallint`=-32768,
|
|
114
|
+
`unsigned_smallint`=0,
|
|
115
|
+
`mediumint`=-8388608,
|
|
116
|
+
`unsigned_mediumint`=0,
|
|
117
|
+
`int24`=-8388608,
|
|
118
|
+
`unsigned_int24`=0,
|
|
119
|
+
`int`=-2147483648,
|
|
120
|
+
`unsigned_int`=0,
|
|
121
|
+
`integer`=-2147483648,
|
|
122
|
+
`unsigned_integer`=0,
|
|
123
|
+
`bigint`=-9223372036854775808,
|
|
124
|
+
`unsigned_bigint`=0,
|
|
125
|
+
`float`=0,
|
|
126
|
+
`double`=-1.7976931348623158e308,
|
|
127
|
+
`real`=-1.7976931348623158e308,
|
|
128
|
+
`decimal`=-99999999999999.999999,
|
|
129
|
+
`dec`=-99999999999999.999999,
|
|
130
|
+
`fixed`=-99999999999999.999999,
|
|
131
|
+
`numeric`=-99999999999999.999999,
|
|
132
|
+
`date`='1000-01-01',
|
|
133
|
+
`time`='-838:59:59',
|
|
134
|
+
`time_6`='-838:59:59.000000',
|
|
135
|
+
`datetime`='1000-01-01 00:00:00',
|
|
136
|
+
`datetime_6`='1000-01-01 00:00:00.000000',
|
|
137
|
+
`timestamp`='1970-01-01 00:00:01',
|
|
138
|
+
`timestamp_6`='1970-01-01 00:00:01.000000',
|
|
139
|
+
`year`=1901,
|
|
140
|
+
`char_100`='',
|
|
141
|
+
`binary_100`=x'',
|
|
142
|
+
`varchar_200`='',
|
|
143
|
+
`varbinary_200`=x'',
|
|
144
|
+
`longtext`='',
|
|
145
|
+
`mediumtext`='',
|
|
146
|
+
`text`='',
|
|
147
|
+
`tinytext`='',
|
|
148
|
+
`longblob`=x'',
|
|
149
|
+
`mediumblob`=x'',
|
|
150
|
+
`blob`=x'',
|
|
151
|
+
`tinyblob`=x'',
|
|
152
|
+
`json`='{}',
|
|
153
|
+
`enum`='one',
|
|
154
|
+
`set`='two',
|
|
155
|
+
`bit`=0
|
|
156
|
+
;
|
|
157
|
+
|
|
158
|
+
-- Maximum values
|
|
159
|
+
INSERT INTO alltypes_no_nulls SET
|
|
160
|
+
`id`=3,
|
|
161
|
+
`tinyint`=127,
|
|
162
|
+
`unsigned_tinyint`=255,
|
|
163
|
+
`bool`=127,
|
|
164
|
+
`boolean`=127,
|
|
165
|
+
`smallint`=32767,
|
|
166
|
+
`unsigned_smallint`=65535,
|
|
167
|
+
`mediumint`=8388607,
|
|
168
|
+
`unsigned_mediumint`=16777215,
|
|
169
|
+
`int24`=8388607,
|
|
170
|
+
`unsigned_int24`=16777215,
|
|
171
|
+
`int`=2147483647,
|
|
172
|
+
`unsigned_int`=4294967295,
|
|
173
|
+
`integer`=2147483647,
|
|
174
|
+
`unsigned_integer`=4294967295,
|
|
175
|
+
`bigint`=9223372036854775807,
|
|
176
|
+
`unsigned_bigint`=18446744073709551615,
|
|
177
|
+
`float`=0,
|
|
178
|
+
`double`=1.7976931348623158e308,
|
|
179
|
+
`real`=1.7976931348623158e308,
|
|
180
|
+
`decimal`=99999999999999.999999,
|
|
181
|
+
`dec`=99999999999999.999999,
|
|
182
|
+
`fixed`=99999999999999.999999,
|
|
183
|
+
`numeric`=99999999999999.999999,
|
|
184
|
+
`date`='9999-12-31',
|
|
185
|
+
`time`='838:59:59',
|
|
186
|
+
`time_6`='838:59:59.999999',
|
|
187
|
+
`datetime`='9999-12-31 23:59:59',
|
|
188
|
+
`datetime_6`='9999-12-31 23:59:59.999999',
|
|
189
|
+
`timestamp`='2038-01-18 21:14:07',
|
|
190
|
+
`timestamp_6`='2038-01-18 21:14:07.999999',
|
|
191
|
+
`year`=2155,
|
|
192
|
+
`char_100`='',
|
|
193
|
+
`binary_100`=x'',
|
|
194
|
+
`varchar_200`='',
|
|
195
|
+
`varbinary_200`=x'',
|
|
196
|
+
`longtext`='',
|
|
197
|
+
`mediumtext`='',
|
|
198
|
+
`text`='',
|
|
199
|
+
`tinytext`='',
|
|
200
|
+
`longblob`=x'',
|
|
201
|
+
`mediumblob`=x'',
|
|
202
|
+
`blob`=x'',
|
|
203
|
+
`tinyblob`=x'',
|
|
204
|
+
`json`='{}',
|
|
205
|
+
`enum`='one',
|
|
206
|
+
`set`='two',
|
|
207
|
+
`bit`=18446744073709551615
|
|
208
|
+
;
|
|
@@ -1446,7 +1446,7 @@ class TestConnection(unittest.TestCase):
|
|
|
1446
1446
|
# Recent versions of polars have a problem with decimals
|
|
1447
1447
|
class FixCompare(str):
|
|
1448
1448
|
def __eq__(self, other):
|
|
1449
|
-
return super().__eq__(other.replace('precision=None', 'precision=
|
|
1449
|
+
return super().__eq__(other.replace('precision=None', 'precision=20'))
|
|
1450
1450
|
|
|
1451
1451
|
dtypes = [
|
|
1452
1452
|
('id', 'Int32'),
|
|
@@ -1469,10 +1469,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1469
1469
|
('float', 'Float32'),
|
|
1470
1470
|
('double', 'Float64'),
|
|
1471
1471
|
('real', 'Float64'),
|
|
1472
|
-
('decimal', FixCompare('Decimal(precision=
|
|
1473
|
-
('dec', FixCompare('Decimal(precision=
|
|
1474
|
-
('fixed', FixCompare('Decimal(precision=
|
|
1475
|
-
('numeric', FixCompare('Decimal(precision=
|
|
1472
|
+
('decimal', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1473
|
+
('dec', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1474
|
+
('fixed', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1475
|
+
('numeric', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1476
1476
|
('date', 'Date'),
|
|
1477
1477
|
('time', "Duration(time_unit='us')"),
|
|
1478
1478
|
('time_6', "Duration(time_unit='us')"),
|
|
@@ -1593,7 +1593,7 @@ class TestConnection(unittest.TestCase):
|
|
|
1593
1593
|
# Recent versions of polars have a problem with decimals
|
|
1594
1594
|
class FixCompare(str):
|
|
1595
1595
|
def __eq__(self, other):
|
|
1596
|
-
return super().__eq__(other.replace('precision=None', 'precision=
|
|
1596
|
+
return super().__eq__(other.replace('precision=None', 'precision=20'))
|
|
1597
1597
|
|
|
1598
1598
|
dtypes = [
|
|
1599
1599
|
('id', 'Int32'),
|
|
@@ -1616,10 +1616,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1616
1616
|
('float', 'Float32'),
|
|
1617
1617
|
('double', 'Float64'),
|
|
1618
1618
|
('real', 'Float64'),
|
|
1619
|
-
('decimal', FixCompare('Decimal(precision=
|
|
1620
|
-
('dec', FixCompare('Decimal(precision=
|
|
1621
|
-
('fixed', FixCompare('Decimal(precision=
|
|
1622
|
-
('numeric', FixCompare('Decimal(precision=
|
|
1619
|
+
('decimal', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1620
|
+
('dec', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1621
|
+
('fixed', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1622
|
+
('numeric', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1623
1623
|
('date', 'Date'),
|
|
1624
1624
|
('time', "Duration(time_unit='us')"),
|
|
1625
1625
|
('time_6', "Duration(time_unit='us')"),
|
|
@@ -1825,10 +1825,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1825
1825
|
('float', 'float'),
|
|
1826
1826
|
('double', 'double'),
|
|
1827
1827
|
('real', 'double'),
|
|
1828
|
-
('decimal', 'decimal128(
|
|
1829
|
-
('dec', 'decimal128(
|
|
1830
|
-
('fixed', 'decimal128(
|
|
1831
|
-
('numeric', 'decimal128(
|
|
1828
|
+
('decimal', 'decimal128(20, 6)'),
|
|
1829
|
+
('dec', 'decimal128(20, 6)'),
|
|
1830
|
+
('fixed', 'decimal128(20, 6)'),
|
|
1831
|
+
('numeric', 'decimal128(20, 6)'),
|
|
1832
1832
|
('date', 'date64[ms]'),
|
|
1833
1833
|
('time', 'duration[us]'),
|
|
1834
1834
|
('time_6', 'duration[us]'),
|
|
@@ -1964,10 +1964,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1964
1964
|
('float', 'float'),
|
|
1965
1965
|
('double', 'double'),
|
|
1966
1966
|
('real', 'double'),
|
|
1967
|
-
('decimal', 'decimal128(
|
|
1968
|
-
('dec', 'decimal128(
|
|
1969
|
-
('fixed', 'decimal128(
|
|
1970
|
-
('numeric', 'decimal128(
|
|
1967
|
+
('decimal', 'decimal128(20, 6)'),
|
|
1968
|
+
('dec', 'decimal128(20, 6)'),
|
|
1969
|
+
('fixed', 'decimal128(20, 6)'),
|
|
1970
|
+
('numeric', 'decimal128(20, 6)'),
|
|
1971
1971
|
('date', 'date64[ms]'),
|
|
1972
1972
|
('time', 'duration[us]'),
|
|
1973
1973
|
('time_6', 'duration[us]'),
|