sql/odbc - update a record without locking table, possible ? - Forum - DataDirect Connect - Progress Community

sql/odbc - update a record without locking table, possible ?

 Forum

sql/odbc - update a record without locking table, possible ?

This question is answered

Hello,

When i update a record with "update pub.mytable set myfirstcolumn = 123 where pub.mytable.mysecondcolumn = 58945"

The error is "[DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]Failure getting table lock on table PUB.mytable."

Other users are connected to this table with ABL and lock many records but not the one i want to update.

 

Why ODBC need to lock the entiere table for update a single record ?

Can i only lock the record and not the table ???

 

(sorry for mistakes, English is not my native language)

 

Odbc connection on Windows, driver pgoe1024.dll

Isolation level: serializable

Openedge 10.2B05.

 

 

Verified Answer
  • Hello,

    I believe it's your isolation level - you have the highest level set (serializable) and this will inevitably lead to many record locks to prevent dirty reads, etc. For more information, please review to the SQL Development manual:

    documentation.progress.com/.../dmsdv.pdf

    Try with Read Committed instead.

    Kind regards,

    Rob

All Replies
  • Hello,

    I believe it's your isolation level - you have the highest level set (serializable) and this will inevitably lead to many record locks to prevent dirty reads, etc. For more information, please review to the SQL Development manual:

    documentation.progress.com/.../dmsdv.pdf

    Try with Read Committed instead.

    Kind regards,

    Rob

  • ok, I read pages 122-127.

    I thought that the three isolation levels "read" did not allow updates, but in fact it relates only to the level "read uncommitted".

    It seems to work well with the "read committed" level, I'll try it in production.

    Thank you !