File: //usr/local/lib/python3.10/dist-packages/sqlalchemy/dialects/mysql/__pycache__/json.cpython-310.pyc
o
���g� � @ s\ d dl mZ G dd� dej�ZG dd� d�ZG dd� deejj�ZG dd � d eejj�Zd
S )� )�typesc @ s e Zd ZdZdS )�JSONa� 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.
N)�__name__�
__module__�__qualname__�__doc__� r r �I/usr/local/lib/python3.10/dist-packages/sqlalchemy/dialects/mysql/json.pyr s r c @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�_FormatTypeMixinc C s t � ��N)�NotImplementedError��self�valuer r r �
_format_value% s z_FormatTypeMixin._format_valuec � � � |��� �fdd�}|S )Nc � � � | �} �r�| �} | S r �r �r �r �
super_procr r �process+ �
z0_FormatTypeMixin.bind_processor.<locals>.process)�string_bind_processor�r �dialectr r r r �bind_processor( �
z_FormatTypeMixin.bind_processorc r )Nc r r r r r r r r 6 r z3_FormatTypeMixin.literal_processor.<locals>.process)�string_literal_processorr r r r �literal_processor3 r z"_FormatTypeMixin.literal_processorN)r r r r r r r r r r r
$ s r
c @ � e Zd Zdd� ZdS )�
JSONIndexTypec C s"