:py:mod:`airflow.providers.exasol.operators.exasol`
===================================================

.. py:module:: airflow.providers.exasol.operators.exasol


Module Contents
---------------

Classes
~~~~~~~

.. autoapisummary::

   airflow.providers.exasol.operators.exasol.ExasolOperator




.. py:class:: ExasolOperator(*, sql, exasol_conn_id = 'exasol_default', autocommit = False, parameters = None, schema = None, **kwargs)

   Bases: :py:obj:`airflow.models.BaseOperator`

   Executes sql code in a specific Exasol database

   :param sql: the SQL code to be executed as a single string, or
       a list of str (sql statements), or a reference to a template file.
       template references are recognized by str ending in '.sql'
   :param exasol_conn_id: reference to a specific Exasol database
   :param autocommit: if True, each command is automatically committed.
       (default value: False)
   :param parameters: (optional) the parameters to render the SQL query with.
   :param schema: (optional) name of the schema which overwrite defined one in connection

   .. py:attribute:: template_fields
      :annotation: :Sequence[str] = ['sql']

      

   .. py:attribute:: template_ext
      :annotation: :Sequence[str] = ['.sql']

      

   .. py:attribute:: template_fields_renderers
      

      

   .. py:attribute:: ui_color
      :annotation: = #ededed

      

   .. py:method:: execute(self, context)

      This is the main method to derive when creating an operator.
      Context is the same dictionary used as when rendering jinja templates.

      Refer to get_template_context for more context.



