issue-#49 problems with SqlOdbc3 driver
Posted: Thu Apr 21, 2016 7:17 am
Finally, I was able to resolve the ODBC deadlock problem in SqlOdbc and SqlOdbc3 completely!
The previous fix was a best effort (95%) work around but not a 100% fix.
Have a look at the changes at http://redmine.blackboxframework.org/pr ... ae881451b2.
When reading multiple parts of a column (ReadVarString, ReadBlob),
any DB operation must be suppressed until the column has been read completely.
Calling NEW in between can invoke the garbage collector, which in turn can finalize unused tables.
Finalization of tables has therefore been delayed by using an action.
Plus one trivial Optimization: empty and NULL VARCHAR strings reuse a common string object.
- Josef
The previous fix was a best effort (95%) work around but not a 100% fix.
Have a look at the changes at http://redmine.blackboxframework.org/pr ... ae881451b2.
When reading multiple parts of a column (ReadVarString, ReadBlob),
any DB operation must be suppressed until the column has been read completely.
Calling NEW in between can invoke the garbage collector, which in turn can finalize unused tables.
Finalization of tables has therefore been delayed by using an action.
Plus one trivial Optimization: empty and NULL VARCHAR strings reuse a common string object.
- Josef