I'm using GridDB CE v5.0 with the Python client (griddb_python) to manage time-series sensor data.
My container schema is:
[
("timestamp", griddb.Type.TIMESTAMP),
("device_id", griddb.Type.STRING),
("temperature", griddb.Type.FLOAT),
("voltage", griddb.Type.FLOAT),
("status", griddb.Type.BOOL)
]
I want to update only the status column for a particular timestamp (i.e., primary key), without modifying other columns.
Use Case:
In my application, a background process updates only the status field (e.g., alarm triggered or not) based on new logic. However, temperature and voltage fields are written by a different process and I want to avoid overwriting those inadvertently.
What I’ve tried:
row = container.get(row_key) # row_key = timestamp
row[4] = True # update status
container.put(row) # overwrite full row
This works but:
It requires pulling the full row.
I'm concerned it may race with other writes.
Question
Is there a way in GridDB Python API to perform an in-place partial update (e.g., update status only) without re-sending the entire row? I don't want to send my entire row every time.