Запрос GridDB Python возвращает пустой набор результатов, даже если строки существуютPython

Программы на Python
Ответить
Anonymous
 Запрос GridDB Python возвращает пустой набор результатов, даже если строки существуют

Сообщение Anonymous »

Я использую клиент GridDB Python для запроса контейнера, в котором определенно есть строки, но мой запрос возвращает пустой набор результатов. Вставки выполняются успешно, иContainer.get(row_key) работает, поэтому я уверен, что данные существуют.
Среда
  • Сервер GridDB: 5.x
  • Python: 3.10
  • Клиент Griddb-Python установлен через pip
  • Тип контейнера: Коллекция (клавиша строки включена)
Код

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

import griddb_python as griddb

factory = griddb.StoreFactory.get_instance()

store = factory.get_store({
"host": "192.168.1.100",
"port": 31999,
"cluster_name": "myCluster",
"username": "admin",
"password": "admin",
})

con = store.get_container("sensor_readings")

# Data exists (this returns a row)
print(con.get("device-001"))

# But this query returns an empty
query = con.query("SELECT * WHERE deviceId = 'device-001'")
rs = query.fetch()
print("has_next:", rs.has_next())

while rs.has_next():
row = rs.next()
print(row)
Я ожидаю по крайней мере одну строку для идентификатора устройства = устройство-001.
Но я вижу, что
  • con.get("device-001") возвращает строку (поэтому контейнер не пуст)
  • rs.has_next() немедленно принимает значение False
Вопросы
  • В GridDB SQL требуется ли для предложений WHERE явное выражение FROM
    Или другой синтаксис в Python?
  • Может ли это быть вызвано несоответствием типа столбца (например, идентификатор устройства
    , хранящийся как BLOB/INTEGER или строка) или именами столбцов с учетом регистра?
  • Существует ли рекомендуемый способ отладки типов схемы/столбцов из
    Python для подтверждения сохраненных типов?


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

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

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

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

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

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