opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
sqlalchemy
/
dialects
/
mysql
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] __pycache__
N/A
__init__.py
2.15 KB
Rename
Delete
aiomysql.py
9.78 KB
Rename
Delete
asyncmy.py
9.84 KB
Rename
Delete
base.py
121.57 KB
Rename
Delete
cymysql.py
2.25 KB
Rename
Delete
dml.py
7.59 KB
Rename
Delete
enumerated.py
8.25 KB
Rename
Delete
expression.py
4.02 KB
Rename
Delete
json.py
2.22 KB
Rename
Delete
mariadb.py
1.42 KB
Rename
Delete
mariadbconnector.py
8.42 KB
Rename
Delete
mysqlconnector.py
5.59 KB
Rename
Delete
mysqldb.py
9.30 KB
Rename
Delete
provision.py
3.49 KB
Rename
Delete
pymysql.py
3.99 KB
Rename
Delete
pyodbc.py
4.20 KB
Rename
Delete
reflection.py
22.30 KB
Rename
Delete
reserved_words.py
9.04 KB
Rename
Delete
types.py
23.77 KB
Rename
Delete
# dialects/mysql/json.py # Copyright (C) 2005-2025 the SQLAlchemy authors and contributors # <see AUTHORS file> # # This module is part of SQLAlchemy and is released under # the MIT License: https://www.opensource.org/licenses/mit-license.php # mypy: ignore-errors from ... import types as sqltypes class JSON(sqltypes.JSON): """MySQL JSON type. MySQL supports JSON as of version 5.7. MariaDB supports JSON (as an alias for LONGTEXT) as of version 10.2. :class:`_mysql.JSON` is used automatically whenever the base :class:`_types.JSON` datatype is used against a MySQL or MariaDB backend. .. seealso:: :class:`_types.JSON` - main documentation for the generic cross-platform JSON datatype. The :class:`.mysql.JSON` type supports persistence of JSON values as well as the core index operations provided by :class:`_types.JSON` datatype, by adapting the operations to render the ``JSON_EXTRACT`` function at the database level. """ pass class _FormatTypeMixin: def _format_value(self, value): raise NotImplementedError() def bind_processor(self, dialect): super_proc = self.string_bind_processor(dialect) def process(value): value = self._format_value(value) if super_proc: value = super_proc(value) return value return process def literal_processor(self, dialect): super_proc = self.string_literal_processor(dialect) def process(value): value = self._format_value(value) if super_proc: value = super_proc(value) return value return process class JSONIndexType(_FormatTypeMixin, sqltypes.JSON.JSONIndexType): def _format_value(self, value): if isinstance(value, int): value = "$[%s]" % value else: value = '$."%s"' % value return value class JSONPathType(_FormatTypeMixin, sqltypes.JSON.JSONPathType): def _format_value(self, value): return "$%s" % ( "".join( [ "[%s]" % elem if isinstance(elem, int) else '."%s"' % elem for elem in value ] ) )
Save