Go to the source code of this file.
Functions | |
FENNEL_BEGIN_NAMESPACE void | strLikeEscapeA (RegisterRef< bool > *result, RegisterRef< char * > *matchValue, RegisterRef< char * > *pattern, RegisterRef< char * > *escape) |
StrLike. | |
void | strLikeA (RegisterRef< bool > *result, RegisterRef< char * > *matchValue, RegisterRef< char * > *pattern) |
StrLike. | |
void | strSimilarEscapeA (RegisterRef< bool > *result, RegisterRef< char * > *matchValue, RegisterRef< char * > *pattern, RegisterRef< char * > *escape) |
StrSimilar. | |
void | strSimilarA (RegisterRef< bool > *result, RegisterRef< char * > *matchValue, RegisterRef< char * > *pattern) |
StrSimilar. | |
void | ExtRegExpRegister (ExtendedInstructionTable *eit) |
void ExtRegExpRegister | ( | ExtendedInstructionTable * | eit | ) |
Definition at line 180 of file ExtRegExp.cpp.
References ExtendedInstructionTable::add(), STANDARD_TYPE_BOOL, STANDARD_TYPE_CHAR, STANDARD_TYPE_VARCHAR, strLikeA(), strLikeEscapeA(), strSimilarA(), and strSimilarEscapeA().
Referenced by CalcInit::instance().
00181 { 00182 assert(eit != NULL); 00183 00184 // JK 2004/5/27: Are all of these combinations really needed? 00185 int i; 00186 for (i = 0; i < 8; i++) { 00187 vector<StandardTypeDescriptorOrdinal> params; 00188 00189 params.push_back(STANDARD_TYPE_BOOL); 00190 00191 if (i & 0x01) { 00192 params.push_back(STANDARD_TYPE_CHAR); 00193 } else { 00194 params.push_back(STANDARD_TYPE_VARCHAR); 00195 } 00196 if (i & 0x02) { 00197 params.push_back(STANDARD_TYPE_CHAR); 00198 } else { 00199 params.push_back(STANDARD_TYPE_VARCHAR); 00200 } 00201 00202 eit->add( 00203 "strLikeA3", params, 00204 (ExtendedInstruction3Context<bool, char*, char*>*) NULL, 00205 &strLikeA); 00206 eit->add( 00207 "strSimilarA3", params, 00208 (ExtendedInstruction3Context<bool, char*, char*>*) NULL, 00209 &strSimilarA); 00210 00211 // tack on escape parameter 00212 if (i & 0x04) { 00213 params.push_back(STANDARD_TYPE_CHAR); 00214 } else { 00215 params.push_back(STANDARD_TYPE_VARCHAR); 00216 } 00217 00218 eit->add( 00219 "strLikeA4", params, 00220 (ExtendedInstruction4Context<bool, char*, char*, char*>*) NULL, 00221 &strLikeEscapeA); 00222 eit->add( 00223 "strSimilarA4", params, 00224 (ExtendedInstruction4Context<bool, char*, char*, char*>*) NULL, 00225 &strSimilarEscapeA); 00226 } 00227 }
void strLikeA | ( | RegisterRef< bool > * | result, | |
RegisterRef< char * > * | matchValue, | |||
RegisterRef< char * > * | pattern | |||
) |
StrLike.
Ascii. Reuses pattern. ESCAPE clause not defined.
FENNEL_BEGIN_NAMESPACE void strLikeEscapeA | ( | RegisterRef< bool > * | result, | |
RegisterRef< char * > * | matchValue, | |||
RegisterRef< char * > * | pattern, | |||
RegisterRef< char * > * | escape | |||
) |
StrLike.
Ascii. Reuses pattern. Pass a zero length string into escape if not defined Passing a null into escape will result in null, per SQL99.
void strSimilarA | ( | RegisterRef< bool > * | result, | |
RegisterRef< char * > * | matchValue, | |||
RegisterRef< char * > * | pattern | |||
) |
StrSimilar.
Ascii. Reuses pattern. ESCAPE clause not defined.
void strSimilarEscapeA | ( | RegisterRef< bool > * | result, | |
RegisterRef< char * > * | matchValue, | |||
RegisterRef< char * > * | pattern, | |||
RegisterRef< char * > * | escape | |||
) |