Почему строки в контейнере TimeSeries автоматически перезаписываются при вставке повторяющихся меток времени?Python

Программы на Python
Ответить
Anonymous
 Почему строки в контейнере TimeSeries автоматически перезаписываются при вставке повторяющихся меток времени?

Сообщение Anonymous »

Я использую GridDB Cloud с клиентом Python (

Код: Выделить всё

griddb_python
) и заметил неожиданное поведение перезаписи при вставке строк в контейнер TIME_SERIES, в котором в качестве ключа строки используется TIMESTAMP.
Schema

Код: Выделить всё

import griddb_python as griddb

conInfo = griddb.ContainerInfo(
name="sensor_ts",
column_info_list=[
("ts", griddb.Type.TIMESTAMP),
("value", griddb.Type.FLOAT)
],
type=griddb.ContainerType.TIME_SERIES,
row_key=True
)
store.put_container(conInfo, True)
Вставить код

Код: Выделить всё

from datetime import datetime

container = store.get_container("sensor_ts")

ts = datetime(2024, 6, 1, 12, 0, 0)

container.put((ts, 10.0))
container.put((ts, 25.0))  # same timestamp
Наблюдаемое поведение
  • Второй вызов put() завершается успешно без ошибок.
  • Запрос к контейнеру возвращает только одну строку:

    Код: Выделить всё

    (2024-06-01 12:00:00, 25.0)
    
  • Исключение GSException или ошибка дублирования ключа.
Ожидаемое поведение
Я ожидал ошибку дублирования ключа или настраиваемый параметр для предотвращения перезаписи.
Вопрос
Есть перезапись строк с одинаковыми временными метками — это предполагаемое поведение для контейнеров GridDB TIME_SERIES, и есть ли способ обеспечить уникальность или отклонить повторяющиеся временные метки на уровне схемы или API?

Подробнее здесь: https://stackoverflow.com/questions/798 ... ting-dupli
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»