Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

276 lines
7.2 KiB

  1. readme.txt for MSR2C.DLL
  2. List of bugs fixed and changes made by build (most recent build first)
  3. Build 4211
  4. Changes made:
  5. Replaced usage of IRowsetAsynch with new IDBAsychStatus.
  6. Added support for new IRowsetFind definition.
  7. Build 4204
  8. Bugs Fixed:
  9. Fixed coding bug in checking state of dwPositionFlags.
  10. Fixed bug 97
  11. Build 4130
  12. Changes made:
  13. Added support for new row position spec.
  14. Build 4122
  15. Bugs Fixed:
  16. Fixed bug 93
  17. Fixed bug 3147
  18. Build 4116
  19. Bugs Fixed:
  20. Fixed bug 88
  21. Fixed bug 90
  22. Fixed bug 94
  23. Build 4106
  24. Bugs Fixed:
  25. Fixed bug 87
  26. Changes made:
  27. Started compiling code with VC++ 5.0.
  28. Build 4024
  29. Changes made:
  30. Recompiled with new OLEDB header.
  31. Build 4023
  32. Bugs Fixed:
  33. Fixed bug 82
  34. Changes made:
  35. Added support for new version of IRowPosition interfaces.
  36. Build 4002
  37. Bugs Fixed:
  38. Fixed problem where the number of metadata columns was not being
  39. computed correctly.
  40. Build 3826
  41. Bugs Fixed:
  42. Fixed bug 83
  43. Build 3731
  44. Bugs Fixed:
  45. Fixed bug 79
  46. Fixed bug 68
  47. Fixed bug reported by the ADC Group, in which a cursor client
  48. cancelling an action in OKToDo phase was ignored by CVDNotifier.
  49. Changes made:
  50. Added support for IRowPosition interfaces.
  51. Now compile under VC++ 4.2b (fixed a few warnings that resulted)
  52. Build 3716
  53. Bugs Fixed:
  54. Fixed bug 78
  55. Build 3526
  56. Bugs Fixed:
  57. Fixed bug 66
  58. Fixed bug 69
  59. Fixed bug 70
  60. Fixed bug 72
  61. Fixed bug 74
  62. Fixed bug 75
  63. Fixed bug 76
  64. Fixed bug 77
  65. Changes made:
  66. A move notification is now generated when calling CVDCursor::Move, specifying
  67. the current actual bookmark (not constant) with an offset of zero.
  68. (fixed as a result of Advanced Data Connector bug 0779)
  69. Fixed problem in metadata cursor, where CVDMetadataCursor::ReturnData_LPWSTR was
  70. incorrectly reporting the amount of out-of-line memory used.
  71. (found while adding support for multibyte character sets)
  72. Build 3324:
  73. Bugs Fixed:
  74. Fixed bug 62
  75. Fixed bug 64
  76. Fixed bug 66
  77. Fixed bug 67
  78. Changes made:
  79. Build 3315:
  80. Bugs Fixed:
  81. Fixed bug 63
  82. Changes made:
  83. Build 3326:
  84. Bugs Fixed:
  85. Fixed bug 61
  86. Fixed problem with retrieving variants for columns of type byte,
  87. date/time and memo.
  88. Changes made:
  89. Added code which first attempts to get requested interface from the
  90. rowset when a call is made to IEntryID::GetInterface.
  91. Also, added preprocessor instructions to optionally remove emulation of
  92. IStream if not supported by rowset when calling IEntryID::GetInterface.
  93. (just #define VD_DONT_IMPLEMENT_ISTREAM in stdafx.h)
  94. Changed code to send the following notification when an undo occurs:
  95. dwEventWhat -> CURSOR_DBEVENT_CURRENT_ROW_CHANGED |
  96. CURSOR_DBEVENT_CURRENT_ROW_DATA_CHANGED |
  97. CURSOR_DBEVENT_NONCURRENT_ROW_DATA_CHANGED;
  98. dwReason -> CURSOR_DBREASON_REFRESH;
  99. Added code to check for required rowset properties.
  100. (they are DBPROP_IRowsetLocate and DBPROP_CANHOLDROWS)
  101. Moved firing of SyncAfter to DidEvent for reentrant safety.
  102. Build 3313:
  103. Bugs Fixed:
  104. Added code to initialize variants before they are fetched to resolve
  105. a problem where Kagera did not return anything if the data was NULL.
  106. Fixed problem where DBGrid would fail to bind to certain datatypes.
  107. Fixed problem where DBGrid would get out-of-synch, because of our
  108. mishandling of beginning/end bookmarks.
  109. Changes made:
  110. Build 3310:
  111. Bugs Fixed:
  112. Removed datatype coercion validation function, which caused problems
  113. by saying certain valid coercions were not allowed.
  114. Changes made:
  115. Changed updating functions so they do not call IRowsetUpdate::Update,
  116. rather they cache their changed in CVDCursorPosition, and call
  117. IRowsetChange::SetData when updated.
  118. Reduced size of release build by only expanding inline functions and
  119. disabling exception handling.
  120. Build 3304:
  121. Bugs Fixed:
  122. Fixed string manipulation problems under Win95, where calls were made
  123. to unimplemented APIs (orginally discovered in phase I).
  124. Fixed bug where calls to ICursorMove::Move placed current row to the
  125. row after the last row fetched, rather than the last row fetched.
  126. Fixed bug where ICursorMove::Move generated notifications when caller
  127. fetched the current row only.
  128. Fixed bug in columns cursor, where returned string values/pointers where
  129. garbage, when the underlying value null.
  130. Removed hard-coded testing code, which always returned 174 from
  131. ICursorScroll:GetApproximateCount.
  132. Fixed clean-up code in ICursorFind::FindByValues, which used fMemAllocated
  133. rather than fMemAllocated[ul].
  134. Fixed bug in CVDCursorMain::Create, where the variable propsetid was
  135. initialized to have a guid {0, 0, 0, 0}, rather than being initialized
  136. to DBPROPSET_ROWSET.
  137. Changes made:
  138. Changed column identifiers to always be type CURSOR_DBCOLKIND_GUID_NUMBER,
  139. where the guid == CURSOR_GUID_NUMBERONLY and lNumber == ulCursorOrdinal.
  140. Added support for entryIDs.
  141. Build 3227:
  142. Bugs Fixed:
  143. Fixed bug that was disallowing coercion of bookmark columns to blobs for
  144. CURSOR_DBTYPE_UI4.
  145. Fixed bug where CVDCursor::FetchAtBookmark was producing invalid bookmarks
  146. in the case where pBookmark was CURSOR_DBBMK_CURRENT and the status was
  147. VDBOOKMARKSTATUS_BEGINNING or VDBOOKMARKSTATUS_END.
  148. Fixed bug where notifications were coming out of CVDCursor::Move even when
  149. the bookmark was CURSOR_DBBMK_CURRENT and dlOffset was zero.
  150. Changes made:
  151. Completed ICursorUpdateARow methods for updating, adding and deleting
  152. Build 3221:
  153. Bugs Fixed:
  154. Changes made:
  155. Converted code to M10 OLE DB spec, these are the changes made:
  156. 1. included M10 headers
  157. 2. changed IRowsetNotify methods' first parameter to IRowset*
  158. 3. changed DBCOLUMNINFO cbMaxLength to ulColumnSize
  159. 4. modified code to pass NULL in IAccessor::ReleaseAccessor's new pcRefCount
  160. 5. changed DBBINDING bPart to dwPart
  161. 6. changed DBBINDING bMemOwner to dwMemOwner
  162. 7. set IRowset::ReleaseRows' new rgRowOptions to NULL
  163. 8. converted to new DBSTATUS codes
  164. 9. changed IRowsetResynch::ResynchRows call to pass NULL in new parameters
  165. 10. linked with M10 libraries for new IIDs.
  166. Build 3215:
  167. Bugs Fixed:
  168. Changes made:
  169. Modified CVDCursor::ReCreateAccessors and CVDCursor::FillConsumersBuffer to create an use an array of accessors
  170. for retrieving out-of-line data. Also, added a helper accessor which gets length and status information prior
  171. to retrieving true variable length data. Fixed length data which is retrieved in out-of-line memory, (i.e. an
  172. I2 represented as a string) uses a table approach to obtain length information, since the length information
  173. returned for these types using an accessor is number of bytes of the intrinsic type. This change enabled us to
  174. optimized our allocations of out-of-line memory.
  175. Added code for getting extended metadata via the IColumnsRowset interface.
  176. Started implementation of ICursorUpdateARow methods for updating, none of these functions are complete however.