home *** CD-ROM | disk | FTP | other *** search
/ Borland Programmer's Resource / Borland_Programmers_Resource_CD_1995.iso / code / kdbf / fixed.txt < prev    next >
Encoding:
Text File  |  1995-05-19  |  4.3 KB  |  168 lines

  1. Issues fixed in the 4/13 build:
  2. -------------------------------
  3.  
  4. In BStatement::execute(BCursor &answer), check to make certain that a
  5. Table Handle is returned from the query before attaching the BCursor
  6. to the Table Handle.
  7.  
  8. Changed line 1106 of BCURSOR.CPP:
  9.  
  10.    strncpy(idxName, ".MDX", DBIMAXNAMELEN);
  11.  
  12.  to
  13.  
  14.    strncat(idxName, ".MDX", DBIMAXNAMELEN);
  15.  
  16. Changes line 3477 of BCURSOR.CPP
  17. (BCursor::searchIndex(PXSearchMode mode, int fldCnt, ...)):
  18.  
  19.    (pBYTE) va_arg(ap, DATE));
  20.  
  21.   to:
  22.  
  23.    (pBYTE) &Date);
  24.  
  25. Changes line 3491 of BCURSOR.CPP
  26. (BCursor::searchIndex(PXSearchMode mode, int fldCnt, ...)):
  27.  
  28.     (pBYTE) va_arg(ap, TIME));
  29.  
  30.   to:
  31.  
  32.     (pBYTE) &Time);
  33.  
  34.     (pBYTE) va_arg(ap, TIMESTAMP *));
  35.  
  36. Changes line 3491 of BCURSOR.CPP
  37. (BCursor::searchIndex(PXSearchMode mode, int fldCnt, ...)):
  38.  
  39.     (pBYTE) va_arg(ap, TIMESTAMP *));
  40.  
  41.   to:
  42.  
  43.     (pBYTE) &TimeStamp);
  44.  
  45. In BRecord::copyTo(BRecord *destRec) (Line 318):
  46.  
  47.     if (!_fmemcpy(destRec->recH, recH, iRecBufSize))
  48.  
  49.   to:
  50.  
  51.     // custom record may have undefined recH and it is not fatal.
  52.     if (!recH || !destRec->recH || !_fmemcpy(destRec->recH, recH,
  53.                                              iRecBufSize))
  54.  
  55. In BRecord::copyTo(BRecord *destRec) (Line 391):
  56.  
  57.     if (!ret)
  58.  
  59.   to:
  60.  
  61.     if (ret = DBIERR_NONE)
  62.  
  63. In BDatabase::getNumPFields(const char *tableName) (Line 2145):
  64.  
  65.     catch(int i)
  66.  
  67.   to:
  68.  
  69.     catch(Retcode i)
  70.  
  71. In BRecord.h, changed
  72.  
  73.     BRecord(BCursor *cursor = 0);
  74.  
  75.   to:
  76.  
  77.     BRecord(BCursor *cursor = NULL);
  78.  
  79. In BRecord::detach(), made certain that a valid tabH exists.
  80.  
  81. In BRecord.cpp, made certain that NULL was used in place of 0
  82. when comparing pointers.
  83.  
  84. Added BCursor::Undelete();
  85. Added BCursor::packTable(BOOL regenIndexes);
  86. Added BDatabase::packTable(const char *tableName, BOOL regenIndexes);
  87.  
  88. In fix incorporated in 3/27, made certain that the length was greater than
  89. 1 before subtracting 1 (make certain not < 1). Note from 3/27 build:
  90. "Subtract 1 from the length of CHAR and Memo fields to make compatible
  91. with DBF."
  92.  
  93. Changed text from PXOppErrMsg to not contain the error category and code...
  94. Added cariage return between each line of output from PXOopErrMsg.
  95. Made certain to not call BDE error handling routines if BDE DLLs are not
  96. found or if the BDE has not been initialized.
  97.  
  98. Issues fixed in the 3/27 build:
  99. -------------------------------
  100.  
  101. Call BRecord::clear in:
  102.  
  103.  BRecord::BRecord(BCursor*)
  104.  BRecord::Attach(BCursor *)
  105.  BCursor::getRecord(BRecord *rec)
  106.  BCursor::getRecord(void far *buffer, int size)
  107.  BCursor::getNextRecord(BRecord *rec)
  108.  BCursor::getPreviousRecord(BRecord *rec)
  109.  BCursor::clearRec (BRecord* rec)
  110.  BCursor::clearRec ()
  111.  
  112. This function is needed when working with records containing
  113. BLOBs.
  114.  
  115. Changed the following code in BCursor::getPreviousRecord(BRecord*):
  116.  
  117. //    if (curStatus == atEnd) // old
  118.     if (curStatus == atBegin) // New
  119.     {
  120.         return (lastError = PXERR_INVCURRRECORD);
  121.     }
  122.  
  123. Added a function:
  124.  
  125.     PXCursorStatus BCursor::getCurStatus()
  126.  
  127.     returns atBegin, atRecord, atCrack, or atEnd.
  128.  
  129. Changed line 120 of BDatabase:
  130.  
  131. Old:
  132. //  lastError = DbiOpenDatabase(NULL, NULL, openMode, shareMode,
  133. //                              NULL, 0, NULL, NULL, &hDb);
  134.  
  135. New:
  136.     lastError = DbiOpenDatabase((pCHAR)BDAlias, "STANDARD", openMode,
  137.                                 shareMode, NULL, 0, NULL, NULL, &hDb);
  138.  
  139. Set the curStatus to be atRecord if BRecord::setToBookMark succeeds.
  140.  
  141. Changed BCursor::getBookMark from:
  142.  
  143.     Retcode getBookMark(BOOKMARK bookMark);
  144.  
  145.     to:
  146.  
  147.     Retcode getBookMark(BOOKMARK& bookMark);
  148.  
  149. Default to use szPARADOX as the driver type in the following
  150. constructor:
  151.  
  152.     BDatabase::BDatabase(BEngine *eng,
  153.                          const char *BDDriver,
  154.                          const char *BDAlias,
  155.                          const char *BDPassword,
  156.                          DBIOpenMode openMode,
  157.                          DBIShareMode shareMode)
  158.  
  159. In BCursor::Clone() - closed the unwanted cursor.
  160.  
  161. Added the virtual function BCursor::curChange, which gets called
  162. whenever a new record is retreived.
  163.  
  164. In GetDesc(TABLEHANDLE tabH, int& numFields, FieldDesc far *fldDescs), made
  165. certain to not include the null terminator space as part of the length of the
  166. field - Subtract 1 from the length of CHAR and Memo fields to make compatible
  167. with DBF.
  168.