tableId | 테이블의 ID |
searchFlag |
DBM_ALL_FIELD : 모든 필드 search (BLOB을 제외한 필드들 중에 찾고자 하는 데이타와 같은 타입의 필드에 대해서만 검색 수행) DBM_ONE_FIELD : 특정 필드만 search |
searchData |
찾고자 하는 패턴에 대한 정보 문자열인 경우, 최대 길이는 PATTERN_LEN |
scanId | open된 스캔 ID |
value | 설명 |
DBM_OK | 성공적으로 수행된 경우 |
DBM_TOO_MANY_SCANS | 이미 open된 스캔의 수가 NUM_SCANS인 경우 |
DBM_INVALID_TABLE_ID | 주어진 테이블 id를 갖는 테이블이 존재하지 않는 경우 |
DBM_INVALID_FLAG | searchFlag,가 DBM_ALL_FIELD도 DBM_ONE_FIELD도 아닌 경우 |
DBM_INVALID_SEARCH_DATA |
해당 필드 id가 테이블 스키마에 존재하지 않는 경우, 필드의 데이타 타입이 테이블 스키마와 일치하지 않는 경우, BLOB 필드를 search 필드로 지정한 경우 pattern의 길이가 PATTERN_LEN보다 큰 경우 |
DBM_DB_NOT_INITED | 데이타베이스가 초기화되어 있지 않은 경우 |
FieldId | id; | /* 모든 필드에 대한 검색일 경우에는 사용하지 않는다 */ | |
FieldDataType | type; | ||
S32 | len; | /* 문자열을 찾고자 할 때 사용한다. */ | |
union { | /* 찾고자 하는 문자열이나 숫자값. */ | ||
S16 | int2val; | ||
S32 | int4val; | ||
P_S8 | str; | /* 끝에 '\0'이 있어야 한다 */ | |
}content; |