Bug #49

fixes in SqlOdbc/3

Added by J. Templ over 3 years ago. Updated over 2 years ago.

Status:ClosedStart date:05/18/2015
Priority:NormalDue date:
Assignee:J. Templ% Done:

90%

Category:-
Target version:1.7
Forum topic:

Description

The modules SqlOdbc and SqlOdbc3 need fixes for 16-bit Unicode
strings and for a deadlock that can appear in ReadString
when reading truncated strings and in ReadVarString and ReadBlob when reading multiple parts of a column.

A proposal for some of the fixes exists in CPC 1.7 rc5.

Reported by Eugene Temirgaleev, 2010-06-22, and Josef Templ, 2008-08-04.
Refers to CPC 1.7 rc5 change list number 23.
Refers to OberonCore B6, B10 & Open Points 36.

Associated revisions

Revision 1da8fd83
Added by J. Templ over 3 years ago

Fixes for wide char support and for avoiding a deadlock. Refs: #49.
As proposed in CPC 1.7 rc5.

Signed-off-by: Josef Templ <>

Revision 1c6c6c82
Added by J. Templ over 3 years ago

Merge pull request #36 from BlackBoxCenter/issue-#49

Fixes for wide char support and for avoiding a deadlock. Refs: #49.

Revision 78bc3330
Added by J. Templ almost 3 years ago

ODBC deadlock resolved. Refs: #49.
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.

Signed-off-by: Josef Templ <>

Revision fdc721d1
Added by I. Denisov over 2 years ago

Merge pull request #109 from BlackBoxCenter/issue-#49

ODBC deadlock resolved. Refs: #49.

Revision 4494b7a2
Added by J. Templ over 2 years ago

fixing a crash in SqlOdbc3.Open with servers that have a long name. Refs: #49.
Length must be according to the size of the string.
changed from 255 to LEN * SIZE, which is 52.

Signed-off-by: Josef Templ <>

Revision cd684d6b
Added by J. Templ over 2 years ago

result code noData handled in BeginExec/EndExec. Refs: #49.
ODBC3 drivers return result code noData when executing an update operation without affecting any rows.

Signed-off-by: Josef Templ <>

History

#1 Updated by J. Templ over 3 years ago

  • Description updated (diff)

#2 Updated by J. Templ over 3 years ago

  • Description updated (diff)

#3 Updated by J. Templ over 3 years ago

  • Status changed from New to Closed

#4 Updated by I. Denisov over 2 years ago

  • Status changed from Closed to In Progress
  • % Done changed from 0 to 90

#5 Updated by J. Templ over 2 years ago

  • Status changed from In Progress to Closed
  • Description updated (diff)

Also available in: Atom PDF