PostgreSQL "readonly" problem
Posted: 08.02.2009, 16:21
Hi, I have an odd problem, but perhaps it's because I'm using table inheritance.. I don't know.
In my application (using postgreSQL 8.1 and lazarus) I have a TZQuery which is used to display and edit "persons" table. "persons" inherits from "givers" table so it's a child table.
If I add a new row to the persons table via my import routine (from CSV file, uses a TZQuery (different from the one connected to the TDBGrid) to do an INSERT command. The insert goes ok, I can see the new row.
The problem is, rows added this way are.. like read-only. Any change done on them via the TDBGrid, or even a delete via the dataset is simply ignored (no error tho). If I refresh the grid/query I get old data back.
If I make a copy using the dataset (not an insert command via query), I can function on that fine, all changes save, it can get deleted and all. I inspected the original and the copy and found no problem. The primary ID key is NOT same, while all other values are.
I don't understand how come it behaves this way, any ideas on how to debug this are welcome as I have noticed this behavior a bit too late (I didn't experiment on imported data)
In my application (using postgreSQL 8.1 and lazarus) I have a TZQuery which is used to display and edit "persons" table. "persons" inherits from "givers" table so it's a child table.
If I add a new row to the persons table via my import routine (from CSV file, uses a TZQuery (different from the one connected to the TDBGrid) to do an INSERT command. The insert goes ok, I can see the new row.
The problem is, rows added this way are.. like read-only. Any change done on them via the TDBGrid, or even a delete via the dataset is simply ignored (no error tho). If I refresh the grid/query I get old data back.
If I make a copy using the dataset (not an insert command via query), I can function on that fine, all changes save, it can get deleted and all. I inspected the original and the copy and found no problem. The primary ID key is NOT same, while all other values are.
I don't understand how come it behaves this way, any ideas on how to debug this are welcome as I have noticed this behavior a bit too late (I didn't experiment on imported data)