.. _sql_ref_refresh:

=======
REFRESH
=======

Refresh a table explicitly.

Synopsis
========

.. code-block:: sql

    REFRESH TABLE table_ident [PARTITION partition_ident]

Description
===========

The REFRESH TABLE command refreshes a table and all its rows,
making all changes made to that table available to all further commands.

If the ``PARTITION`` clause is given a single partition of a partitioned
table will be refreshed. If this clause is omitted, all partitions will be
refreshed.

Without issuing this statement there is no guarantee that a change
(``UPDATE``, ``DELETE``, ``COPY`` or ``INSERT``) will be seen by an
immediately following ``SELECT`` statement for the row(s) affected by
this change. By default a refresh is scheduled periodically.

Internally a refresh opens a new table reader, which is then used by
all subsequent searches on the affected table.

For further details see :ref:`refresh_data`. For changing the refresh
interval see :ref:`sql_ref_refresh_interval`.

Parameters
==========

:table_ident: The name (optionally schema-qualified) of an existing
    table that is to be refreshed.

:partition_ident: This opaque string value identifies a partition of a partitioned table
    as listed in :ref:`is_table_partitions`.


