Hello everyone,
May this new year be excellent for each of you.
The DBE that allows us to use postgreql in Xbase++ exceeds all my expectations.
Ignoring, of course, the problem of records that are permanently blocked, and the problem of the pack command.
After studying, for two years, the pros and cons of this excellent DBE, I feel obliged to get some benefit from it. I must implement it, however I have not been able to overcome the problem with the pack command. It doesn't work for me on exclusive tables. And obviously it doesn't work for me on shared tables either.
Of the thousand attempts with pack, maybe one works. And, if it works, now the first pack, now the second it doesn't work. I have tried to replace the pack ISAM command with the SQL DELETE FROM command, but it does not work.
The runtime error is the following: dml-pack failed at table level
I hope you can help me.
Thank you.
Best regards.
Dml-pack failed at table level postgresql driver
-
- Posts: 174
- Joined: Thu Nov 05, 2020 10:51 am
- Location: DOMINICAN REPUBLIC
Re: Dml-pack failed at table level postgresql driver
You should not do any 'pack' on sql servers as that is something server do by their own.
If you do server side DELETE from then you will have to do it the way (afaik) Alaska does with stored procedures so consistency is kept for service tables.
> the problem of records that are permanently blocked,
So Alaska did not fix a bug where due to irregular client disconnect a record lock (that is written as data in one of tables) is persisting?
If you do server side DELETE from then you will have to do it the way (afaik) Alaska does with stored procedures so consistency is kept for service tables.
> the problem of records that are permanently blocked,
So Alaska did not fix a bug where due to irregular client disconnect a record lock (that is written as data in one of tables) is persisting?
Diego Euri Almanzar wrote: ↑Wed Jan 03, 2024 11:06 pm Hello everyone,
May this new year be excellent for each of you.
The DBE that allows us to use postgreql in Xbase++ exceeds all my expectations.
Ignoring, of course, the problem of records that are permanently blocked, and the problem of the pack command.
After studying, for two years, the pros and cons of this excellent DBE, I feel obliged to get some benefit from it. I must implement it, however I have not been able to overcome the problem with the pack command. It doesn't work for me on exclusive tables. And obviously it doesn't work for me on shared tables either.
Of the thousand attempts with pack, maybe one works. And, if it works, now the first pack, now the second it doesn't work. I have tried to replace the pack ISAM command with the SQL DELETE FROM command, but it does not work.
The runtime error is the following: dml-pack failed at table level
I hope you can help me.
Thank you.
Best regards.
Re: Dml-pack failed at table level postgresql driver
If you use the PGDBE, Xbase++ simulates the delete/recall/pack-commands using a standard column "__deleted" in every table which holds the "deleted" information. The sql server doesn't know anything of this. If you don't pack (which is not just "DELETE FROM <cTableName> WHERE __deleted") those tables from time to time, you may carry more deleted than living data, which may cause several effects. So, DbPack() with the PGDBE is not the same as what the server does by itself. Same for re-indexing.You should not do any 'pack' on sql servers as that is something server do by their own.
Best regards,
Tom
"Did I offend you?"
"No."
"Okay, give me a second chance."
Tom
"Did I offend you?"
"No."
"Okay, give me a second chance."
-
- Posts: 174
- Joined: Thu Nov 05, 2020 10:51 am
- Location: DOMINICAN REPUBLIC
Re: Dml-pack failed at table level postgresql driver
Distinguished K-Insist, and Tom
Excellent information. They will help me a lot.
Thank you.
Excellent information. They will help me a lot.
Thank you.