Wie ich lese beschäftigen sich hier einige Entwickler ja auch mit sqlite.
Ich kämpfe gerade mit einem Problem welches hier sicher auch auftauchen wird.
Folgendes Szenario:
Ein Programm (oder beim VDR ein Plugin) macht eine sqlite DB mit sqlite3_open auf und bekommt einen Connection Handle "*sqlite3"
Mit diesem Handle wird dann eigentlich alles gemacht.
Nun kommt ein externes Programm und arbeitet auf der selben sqlite DB und macht dann natürlich auch ein sqlite3_open und bekommt ein eigenes Handle auf den ich alles weiter mache.
Soweit so gut.
Ich will nun aber das das erste Programm über Änderungen an der DB informiert wird.
Dazu gibt es
void *sqlite3_update_hook(
sqlite3*,
void(*)(void *,int ,char const *,char const *,sqlite3_int64),
void*
);
Der Callback wird auch aufgerufen jedoch nur wenn der sqlite3* Handle der selbe ist. Das ist natürlich nicht der selbe wenn man es aus zwei Programmen auf macht.
Abgesehen von inotify_event auf dem File, wobei ich dann nur weiß das sich was geändert hat, finde ich keine Möglichkeit mich über Änderungen in der DB informieren zu lassen.
Das kann doch nicht sein oder?
Das ist doch ein generelles Problem oder?
Jemand eine Idee?