as_DBMOpenSearchScanCategory

Description
ƯÁ¤ Å×À̺íÀÇ Æ¯Á¤ Category¿¡¼­ ƯÁ¤ ¹®ÀÚ¿­À» Æ÷ÇÔÇϰųª, ƯÁ¤ ¼ýÀÚ¸¦ °¡Áø ·¹Äڵ带 Àбâ À§ÇÑ ½ºÄµÀ» ÃʱâÈ­ÇÑ´Ù.

Syntax
DBMErr as_DBMOpenSearchScanCategory(TableId tableId, CatId catId, SearchFlag searchFlag, FieldData *searchData, ScanId* scanId);

Parameters
tableId Å×À̺íÀÇ ID
catIdCategoryÀÇ ID
searchFlag DBM_ALL_FIELD : ¸ðµç Çʵå search
(ã°íÀÚ ÇÏ´Â µ¥ÀÌŸ¿Í °°Àº ŸÀÔÀÇ Çʵ忡 ´ëÇؼ­¸¸ °Ë»ö ¼öÇà, ¶ÇÇÑ BLOB Çʵ嵵 Á¦¿Ü)
DBM_ONE_FIELD : ƯÁ¤ Çʵ常 search
searchData ã°íÀÚ ÇÏ´Â ÆÐÅÏ¿¡ ´ëÇÑ Á¤º¸
¹®ÀÚ¿­ °Ë»öÀÏ °æ¿ì, ÆÐÅÏÀÇ ÃÖ´ë ±æÀÌ´Â PATTERN_LEN
scanIdopenµÈ ½ºÄµ ID

Returns
value¼³¸í
DBM_OK¼º°øÀûÀ¸·Î ¼öÇàµÈ °æ¿ì
DBM_TOO_MANY_SCANSÀÌ¹Ì openµÈ ½ºÄµÀÇ ¼ö°¡ NUM_SCANSÀÎ °æ¿ì
DBM_INVALID_TABLE_IDÁÖ¾îÁø Å×À̺í id¸¦ °®´Â Å×À̺íÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
DBM_INVALID_CAT_IDÁÖ¾îÁø Category id¸¦ °®´Â Category°¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì
DBM_INVALID_FLAGsearchFlag,°¡ DBM_ALL_FIELDµµ DBM_ONE_FIELDµµ ¾Æ´Ñ °æ¿ì
DBM_INVALID_SEARCH_DATA ÇØ´ç Çʵå id°¡ Å×ÀÌºí ½ºÅ°¸¶¿¡ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì,
ÇʵåÀÇ µ¥ÀÌŸ ŸÀÔÀÌ Å×ÀÌºí ½ºÅ°¸¶¿Í ÀÏÄ¡ÇÏÁö ¾Ê´Â °æ¿ì,
BLOB Çʵ带 search Çʵå·Î ÁöÁ¤ÇÑ °æ¿ì
patternÀÇ ±æÀÌ°¡ PATTERN_LENº¸´Ù Å« °æ¿ì
DBM_DB_NOT_INITEDµ¥ÀÌŸº£À̽º°¡ ÃʱâÈ­µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì

Comments
ã°íÀÚ ÇÏ´Â ÆÐÅÏÀÌ ¹®ÀÚ¿­ÀÎ °æ¿ì¿¡´Â substring matchµÇ´Â ·¹Äڵ带 °Ë»öÇÏ°í, ¼ýÀÚÀÏ ¶§´Â exact match µÇ´Â ·¹Äڵ带 °Ë»öÇÑ´Ù.

¸Å°³º¯¼ö¿¡¼­ »ç¿ëµÇ´Â searchDataÀÇ ÀڷᱸÁ¶´Â ´ÙÀ½°ú °°´Ù.
typedef struct {
  FieldId id; /* ¸ðµç Çʵ忡 ´ëÇÑ °Ë»öÀÏ °æ¿ì¿¡´Â »ç¿ëÇÏÁö ¾Ê´Â´Ù */
  FieldDataTypetype;
  S32 len; /* ¹®ÀÚ¿­À» ã°íÀÚ ÇÒ ¶§ »ç¿ëÇÑ´Ù. */
  union {/* ã°íÀÚ ÇÏ´Â ¹®ÀÚ¿­À̳ª ¼ýÀÚ°ª. */
  S16  int2val;
  S32  int4val;
  P_S8 str;/* ³¡¿¡ '\0'ÀÌ ÀÖ¾î¾ß ÇÑ´Ù */
  }content;
} FieldData;

½ºÄµÀ» openÇÑ ÀÌÈÄ, ÃÖÃʷΠȣÃâµÇ´Â as_DBMGetNextRecordId ¶Ç´Â as_DBMGetPrevRecordId´Â ÁÖ¾îÁø searchData¸¦ Æ÷ÇÔÇϴ óÀ½ ·¹ÄÚµå ID¸¦ ¹ÝȯÇÑ´Ù.

See Also
as_DBMOpenSearchScanTable, as_DBMGetNextRecordId, as_DBMGetPrevRecordId

Example
TableId tableId; ScanId scanId;
RecId recId; DBMErr ret=DBM_OK;
int numFields, numExistFields; FieldDataInfo fieldDataInfo;
FieldData keyData, fieldData;
CatId catId;
SearchFlag searchFlag = DBM_ONE_FILED;
// Get tableId, catId
// assign the search data for the primary index field


searchData.id=0;
searchData.type=DBM_STRING;
searchData.content.str = Lmalloc( strlen("keyString") + 1);
strcpy(searchData.content.str, "searchString" );
ret=as_DBMOpenSearchScanCategory( tableId, catId, searchFlag, searchData, &scanId);