aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorilnaz <ilnaz@ydb.tech>2022-07-25 12:07:19 +0300
committerilnaz <ilnaz@ydb.tech>2022-07-25 12:07:19 +0300
commit6e02ac55fbb46b2dbcf36c2a76fe6bf28a031a3c (patch)
treeb1bb202bb7f312c7170beee9e2e4b8d8aabe2ab4
parentea216b67bf587001770d6e84e7159a08c919d87e (diff)
downloadydb-6e02ac55fbb46b2dbcf36c2a76fe6bf28a031a3c.tar.gz
Explain units used to interpret value of integer TTL-column
-rw-r--r--ydb/docs/ru/core/concepts/_includes/ttl.md51
1 files changed, 40 insertions, 11 deletions
diff --git a/ydb/docs/ru/core/concepts/_includes/ttl.md b/ydb/docs/ru/core/concepts/_includes/ttl.md
index 3567375445..a928c581f9 100644
--- a/ydb/docs/ru/core/concepts/_includes/ttl.md
+++ b/ydb/docs/ru/core/concepts/_includes/ttl.md
@@ -49,11 +49,12 @@ expiration_time = valueof(ttl_column) + expire_after_seconds
* `Uint32`;
* `Uint64`;
* `DyNumber`.
-* Значение TTL-колонки с числовым типом (`Uint32`, `Uint64`, `DyNumber`) интерпретируется как величина от [Unix-эпохи]{% if lang == "en" %}(https://en.wikipedia.org/wiki/Unix_time){% endif %}{% if lang == "ru" %}(https://ru.wikipedia.org/wiki/Unix-время){% endif %} заданная в:
- * секундах;
- * миллисекундах;
- * микросекундах;
- * наносекундах.
+* Значение TTL-колонки с числовым типом (`Uint32`, `Uint64`, `DyNumber`) интерпретируется как величина от [Unix-эпохи]{% if lang == "en" %}(https://en.wikipedia.org/wiki/Unix_time){% endif %}{% if lang == "ru" %}(https://ru.wikipedia.org/wiki/Unix-время){% endif %}. Поддерживаемые единицы измерения (задаются в настройках TTL):
+ * секунды;
+ * миллисекунды;
+ * микросекунды;
+ * наносекунды.
+* Настройка TTL с использованием [YQL](../../yql/reference/index.md) возможна только для колонок типа `Date`, `Datetime`, и `Timestamp`.
* Нельзя указать несколько TTL-колонок.
* Нельзя удалить TTL-колонку. Если это все же требуется, сначала нужно [выключить TTL](#disable) на таблице.
@@ -65,12 +66,6 @@ expiration_time = valueof(ttl_column) + expire_after_seconds
* [Консольного клиента {{ ydb-short-name }}](../../reference/ydb-cli/index.md).
* {{ ydb-short-name }} {% if oss %}C++ и{% endif %} Python [SDK](../../reference/ydb-sdk/index.md).
-{% note info %}
-
-Настройка TTL с использованием YQL возможна для колонок типа `Date`, `Datetime`, и `Timestamp`.
-
-{% endnote %}
-
### Включение TTL для существующей таблицы {#enable-on-existent-table}
В приведенном ниже примере строки таблицы `mytable` будут удаляться спустя час после наступления времени, записанного в колонке `created_at`:
@@ -119,6 +114,40 @@ expiration_time = valueof(ttl_column) + expire_after_seconds
{% endnote %}
+Следующий пример демонстрирует использование колонки `modified_at` с числовым типом (`Uint32`) в качестве TTL-колонки. Значение колонки интерпретируется как секунды от Unix-эпохи:
+
+{% list tabs %}
+
+- CLI
+
+ ```bash
+ $ {{ ydb-cli }} -e <endpoint> -d <database> table ttl set --column modified_at --expire-after 3600 --unit seconds mytable
+ ```
+
+{% if oss == true %}
+
+- C++
+
+ ```c++
+ session.AlterTable(
+ "mytable",
+ TAlterTableSettings()
+ .BeginAlterTtlSettings()
+ .Set("modified_at", TTtlSettings::EUnit::Seconds, TDuration::Hours(1))
+ .EndAlterTtlSettings()
+ );
+ ```
+
+{% endif %}
+
+- Python
+
+ ```python
+ session.alter_table('mytable', set_ttl_settings=ydb.TtlSettings().with_value_since_unix_epoch('modified_at', UNIT_SECONDS, 3600))
+ ```
+
+{% endlist %}
+
### Включение TTL для вновь создаваемой таблицы {#enable-for-new-table}
Для вновь создаваемой таблицы можно передать настройки TTL вместе с ее описанием: