/
opt
/
alt
/
python27
/
lib64
/
python2.7
/
site-packages
/
sqlalchemy
/
dialects
/
sqlite
/
up file
home
� 1��fc @ s d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d d l m Z d Z d e f d � � YZ e e d d � Z d e f d � � YZ d e f d � � YZ d e f d � � YZ d S( i ( t util( t coercions( t roles( t _exclusive_against( t _generative( t ColumnCollection( t Insert( t ClauseElement( t alias( t public_factoryR t insertc B s� e Z d Z d Z e Z e j d � � Z e d d i d d 6�Z e e d d d d d � � � Z e e d d d � � � Z RS( s? SQLite-specific implementation of INSERT. Adds methods for SQLite-specific syntaxes such as ON CONFLICT. The :class:`_sqlite.Insert` object is created using the :func:`sqlalchemy.dialects.sqlite.insert` function. .. versionadded:: 1.4 .. seealso:: :ref:`sqlite_on_conflict_insert` t sqlitec C s t | j d d �j S( s� Provide the ``excluded`` namespace for an ON CONFLICT statement SQLite's ON CONFLICT clause allows reference to the row that would be inserted, known as ``excluded``. This attribute provides all columns in this row to be referenceable. .. tip:: The :attr:`_sqlite.Insert.excluded` attribute is an instance of :class:`_expression.ColumnCollection`, which provides an interface the same as that of the :attr:`_schema.Table.c` collection described at :ref:`metadata_tables_and_columns`. With this collection, ordinary names are accessible like attributes (e.g. ``stmt.excluded.some_column``), but special names and dictionary method names should be accessed using indexed access, such as ``stmt.excluded["column name"]`` or ``stmt.excluded["values"]``. See the docstring for :class:`_expression.ColumnCollection` for further examples. t namet excluded( R t tablet columns( t self( ( sQ /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sqlite/dml.pyR * s t _post_values_clauset msgssC This Insert construct already has an ON CONFLICT clause establishedc C s t | | | | � | _ d S( s� Specifies a DO UPDATE SET action for ON CONFLICT clause. :param index_elements: A sequence consisting of string column names, :class:`_schema.Column` objects, or other column expression objects that will be used to infer a target index or unique constraint. :param index_where: Additional WHERE criterion that can be used to infer a conditional target index. :param set\_: A dictionary or other mapping object where the keys are either names of columns in the target table, or :class:`_schema.Column` objects or other ORM-mapped columns matching that of the target table, and expressions or literals as values, specifying the ``SET`` actions to take. .. versionadded:: 1.4 The :paramref:`_sqlite.Insert.on_conflict_do_update.set_` parameter supports :class:`_schema.Column` objects from the target :class:`_schema.Table` as keys. .. warning:: This dictionary does **not** take into account Python-specified default UPDATE values or generation functions, e.g. those specified using :paramref:`_schema.Column.onupdate`. These values will not be exercised for an ON CONFLICT style of UPDATE, unless they are manually specified in the :paramref:`.Insert.on_conflict_do_update.set_` dictionary. :param where: Optional argument. If present, can be a literal SQL string or an acceptable expression for a ``WHERE`` clause that restricts the rows affected by ``DO UPDATE SET``. Rows not meeting the ``WHERE`` condition will not be updated (effectively a ``DO NOTHING`` for those rows). N( t OnConflictDoUpdateR ( R t index_elementst index_wheret set_t where( ( sQ /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sqlite/dml.pyt on_conflict_do_updateH s 1c C s t | | � | _ d S( s� Specifies a DO NOTHING action for ON CONFLICT clause. :param index_elements: A sequence consisting of string column names, :class:`_schema.Column` objects, or other column expression objects that will be used to infer a target index or unique constraint. :param index_where: Additional WHERE criterion that can be used to infer a conditional target index. N( t OnConflictDoNothingR ( R R R ( ( sQ /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sqlite/dml.pyt on_conflict_do_nothing} s N( t __name__t __module__t __doc__t stringify_dialectt Falset inherit_cacheR t memoized_propertyR R t _on_conflict_exclusiveR t NoneR R ( ( ( sQ /opt/alt/python27/lib64/python2.7/site-packages/sqlalchemy/dialects/sqlite/dml.pyR s"