Home page  
Help >
ddlFindCb() - special FIND with Callback
Version 7.11
ddlFindCb() - special FIND with Callback ddlFindCb() - special FIND with Callback

Prototype:
   void ddlFindCb(
      CONTROL *ctl,
      char *OptnStr,
      char *ArgList,
      char *DataArray[],
      int DataArrayItemCount,
      FindRtn FindCB,
      WtCastPtr UserWord);
 
   typedef int (STDCALL *FindRtn)(
      /* value 1 - continue FIND iteration; 0 - stop FIND iteration */
      WtCastPtr UserWord,
      long *FindRecArray,     /* array of 1-rel record numbers */
      int FindRecCount,       /* number of records found */
      int DataArrayIndex);
Permitted values in OptnStr: NA

Form of ArgList:
      <TableName> <RD-name> <key-name-1> [<key-name-2> ... [<key-name-N>]]
Where: <TableName> is the name of the target table.
<RD-name> is the name of an RD that describes each item in DataArray[]
<key-name-N> is the name of the keyed field that is being queried

Description of Parameter *DataArray[]
char *DataArray[] is an array containing DataArrayItemCount pointers; although the pointers are of data type char*, each pointer is a pointer to a record image of arbitrary format.

Description:
ddlFindCb() is an optimized version of ddlFind(). In many respects, it is similar to ddlMatch(). In particular, ddlFindCb() performs an EQ query on each item of a vector, then returns the result via a callback; This methodology allows the user to implement his own MATCH-like function in an optimized fashion.

Notes:
Current restrictions as of TB API 8.0.160:
       The one-key scenario is operable for index types:
             . Non-RealTime - All modes
             . Realtime - All modes
             . Returns only the first record of each find
       Is not operable for ATTACHed tables


ddlFindCb() Example

Copyright © 2019 , WhamTech, Inc.  All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. Names may be trademarks of their respective owners.