Fennel: /home/pub/open/dev/fennel/calculator/ExtString.cpp Source File (original) (raw)

00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 #include "fennel/common/CommonPreamble.h" 00024 #include "fennel/calculator/SqlString.h" 00025 #include "fennel/calculator/ExtendedInstructionTable.h" 00026 00027 FENNEL_BEGIN_NAMESPACE 00028 00029 00030 void 00031 strCatA2( 00032 RegisterRef<char*>* result, 00033 RegisterRef<char*>* str1) 00034 { 00035 assert(StandardTypeDescriptor::isTextArray(str1->type())); 00036 00037
00038 if (result->isNull() || str1->isNull()) { 00039 result->toNull(); 00040 result->length(0); 00041 } else { 00042 result->length( 00043 SqlStrCat( 00044 result->pointer(), 00045 result->storage(), 00046 result->length(), 00047 str1->pointer(), 00048 str1->stringLength())); 00049 } 00050 } 00051 00052 void 00053 strCatA3( 00054 RegisterRef<char*>* result, 00055 RegisterRef<char*>* str1, 00056 RegisterRef<char*>* str2) 00057 { 00058 assert(StandardTypeDescriptor::isTextArray(str1->type())); 00059 00060
00061 if (result->isNull() || str1->isNull() || str2->isNull()) { 00062 result->toNull(); 00063 result->length(0); 00064 } else { 00065 result->length( 00066 SqlStrCat( 00067 result->pointer(), 00068 result->storage(), 00069 str1->pointer(), 00070 str1->stringLength(), 00071 str2->pointer(), 00072 str2->stringLength())); 00073 } 00074 } 00075 00076 void 00077 strCmpA( 00078 RegisterRef* result, 00079 RegisterRef<char*>* str1, 00080 RegisterRef<char*>* str2) 00081 { 00082 assert(StandardTypeDescriptor::isTextArray(str1->type())); 00083 00084 if (str1->isNull() || str2->isNull()) { 00085 result->toNull(); 00086 } else { 00087 result->value( 00088 SqlStrCmp<1,1>( 00089 str1->pointer(), str1->stringLength(), 00090 str2->pointer(), str2->stringLength())); 00091 } 00092 } 00093 00094 void 00095 strCmpOct( 00096 RegisterRef* result, 00097 RegisterRef<char*>* str1, 00098 RegisterRef<char*>* str2) 00099 { 00100 assert(StandardTypeDescriptor::isBinaryArray(str1->type())); 00101 00102 if (str1->isNull() || str2->isNull()) { 00103 result->toNull(); 00104 } else { 00105 result->value( 00106 SqlStrCmp_Bin( 00107 str1->pointer(), str1->stringLength(), 00108 str2->pointer(), str2->stringLength())); 00109 } 00110 } 00111 00112 void 00113 strCpyA( 00114 RegisterRef<char*>* result, 00115 RegisterRef<char*>* str) 00116 { 00117 assert(result->type() == str->type()); 00118 assert(StandardTypeDescriptor::isTextArray(str->type())); 00119 00120
00121 if (result->isNull() || str->isNull()) { 00122 result->toNull(); 00123 result->length(0); 00124 } else { 00125 if (str->type() == STANDARD_TYPE_CHAR) { 00126 result->length( 00127 SqlStrCpy_Fix<1,1>( 00128 result->pointer(), 00129 result->storage(), 00130 str->pointer(), 00131 str->stringLength())); 00132 } else { 00133 result->length( 00134 SqlStrCpy_Var( 00135 result->pointer(), 00136 result->storage(), 00137 str->pointer(), 00138 str->stringLength())); 00139 } 00140 } 00141 } 00142 00143 00144 void 00145 strLenBitA( 00146 RegisterRef* result, 00147 RegisterRef<char*>* str) 00148 { 00149 assert(StandardTypeDescriptor::isTextArray(str->type())); 00150 00151 if (str->isNull()) { 00152 result->toNull(); 00153 } else { 00154 result->value(SqlStrLenBit(str->stringLength())); 00155 } 00156 } 00157 00158 void 00159 strLenCharA( 00160 RegisterRef* result, 00161 RegisterRef<char*>* str) 00162 { 00163 assert(StandardTypeDescriptor::isTextArray(str->type())); 00164 00165 if (str->isNull()) { 00166 result->toNull(); 00167 } else { 00168 result->value( 00169 SqlStrLenChar<1,1>( 00170 str->pointer(), 00171 str->stringLength())); 00172 } 00173 } 00174 00175 void 00176 strLenOctA( 00177 RegisterRef* result, 00178 RegisterRef<char*>* str) 00179 { 00180 assert(StandardTypeDescriptor::isTextArray(str->type())); 00181 00182 if (str->isNull()) { 00183 result->toNull(); 00184 } else { 00185 result->value(SqlStrLenOct(str->stringLength())); 00186 } 00187 } 00188 00189 void 00190 strOverlayA4( 00191 RegisterRef<char*>* result, 00192 RegisterRef<char*>* str, 00193 RegisterRef<char*>* overlay, 00194 RegisterRef* start) 00195 { 00196 assert(result->type() == STANDARD_TYPE_VARCHAR); 00197 assert(str->type() == overlay->type()); 00198 assert(StandardTypeDescriptor::isTextArray(str->type())); 00199 00200
00201 if (result->isNull() || str->isNull() || 00202 overlay->isNull() || start->isNull()) { 00203 result->toNull(); 00204 result->length(0); 00205 } else { 00206 result->length( 00207 SqlStrOverlay<1,1>( 00208 result->pointer(), 00209 result->storage(), 00210 str->pointer(), 00211 str->stringLength(), 00212 overlay->pointer(), 00213 overlay->stringLength(), 00214 start->value(), 00215 0, 00216 false)); 00217 } 00218 } 00219 00220 void 00221 strOverlayA5( 00222 RegisterRef<char*>* result, 00223 RegisterRef<char*>* str, 00224 RegisterRef<char*>* overlay, 00225 RegisterRef* start, 00226 RegisterRef* len) 00227 { 00228 assert(result->type() == STANDARD_TYPE_VARCHAR); 00229 assert(str->type() == overlay->type()); 00230 assert(StandardTypeDescriptor::isTextArray(str->type())); 00231 00232
00233 if (result->isNull() || str->isNull() || 00234 overlay->isNull() || start->isNull() || len->isNull()) { 00235 result->toNull(); 00236 result->length(0); 00237 } else { 00238 result->length( 00239 SqlStrOverlay<1,1>( 00240 result->pointer(), 00241 result->storage(), 00242 str->pointer(), 00243 str->stringLength(), 00244 overlay->pointer(), 00245 overlay->stringLength(), 00246 start->value(), 00247 len->value(), 00248 true)); 00249 } 00250 } 00251 00252 void 00253 strPosA( 00254 RegisterRef* result, 00255 RegisterRef<char*>* find, 00256 RegisterRef<char*>* str) 00257 { 00258 assert(str->type() == find->type()); 00259 assert(StandardTypeDescriptor::isTextArray(str->type())); 00260 00261 if (str->isNull() || find->isNull()) { 00262 result->toNull(); 00263 } else { 00264 result->value( 00265 SqlStrPos<1,1>( 00266 str->pointer(), 00267 str->stringLength(), 00268 find->pointer(), 00269 find->stringLength())); 00270 } 00271 } 00272 00273 void 00274 strSubStringA3( 00275 RegisterRef<char*>* result, 00276 RegisterRef<char*>* str, 00277 RegisterRef* start) 00278 { 00279 assert(result->type() == STANDARD_TYPE_VARCHAR); 00280 assert(StandardTypeDescriptor::isTextArray(str->type())); 00281 00282
00283 if (result->isNull() || str->isNull() || start->isNull()) { 00284 result->toNull(); 00285 result->length(0); 00286 } else { 00287
00288 char * ptr = result->pointer(); 00289
00290 int32_t newLen = SqlStrSubStr<1,1>( 00291 const_cast<char const >(&ptr), 00292 result->storage(), 00293 str->pointer(), 00294 str->stringLength(), 00295 start->value(), 00296 0, 00297 false); 00298 result->pointer(ptr, newLen); 00299 } 00300 } 00301 00302 void 00303 strSubStringA4( 00304 RegisterRef<char*> result, 00305 RegisterRef<char*> str, 00306 RegisterRef* start, 00307 RegisterRef* len) 00308 { 00309 assert(result->type() == STANDARD_TYPE_VARCHAR); 00310 assert(StandardTypeDescriptor::isTextArray(str->type())); 00311 00312
00313 if (result->isNull() || str->isNull() || 00314 start->isNull() || len->isNull()) { 00315 result->toNull(); 00316 result->length(0); 00317 } else { 00318
00319 char * ptr = result->pointer(); 00320
00321 int32_t newLen = SqlStrSubStr<1,1>( 00322 const_cast<char const >(&ptr), 00323 result->storage(), 00324 str->pointer(), 00325 str->stringLength(), 00326 start->value(), 00327 len->value(), 00328 true); 00329 result->pointer(ptr, newLen); 00330 } 00331 } 00332 00333 void 00334 strToLowerA( 00335 RegisterRef<char*> result, 00336 RegisterRef<char*> str) 00337 { 00338 assert(StandardTypeDescriptor::isTextArray(str->type())); 00339 assert(str->type() == result->type()); 00340 00341
00342 if (result->isNull() || str->isNull()) { 00343 result->toNull(); 00344 result->length(0); 00345 } else { 00346
00347 assert( 00348 str->type() == STANDARD_TYPE_CHAR 00349 ? (result->storage() == str->storage()) 00350 : true); 00351 result->length( 00352 SqlStrAlterCase<1,1,AlterCaseLower>( 00353 result->pointer(), 00354 result->storage(), 00355 str->pointer(), 00356 str->stringLength())); 00357 } 00358 } 00359 00360 void 00361 strToUpperA( 00362 RegisterRef<char*>* result, 00363 RegisterRef<char*>* str) 00364 { 00365 assert(StandardTypeDescriptor::isTextArray(str->type())); 00366 assert(str->type() == result->type()); 00367 00368
00369 if (result->isNull() || str->isNull()) { 00370 result->toNull(); 00371 result->length(0); 00372 } else { 00373 assert( 00374 str->type() == STANDARD_TYPE_CHAR 00375 ? (result->storage() == str->storage()) 00376 : true); 00377
00378 result->length( 00379 SqlStrAlterCase<1,1,AlterCaseUpper>( 00380 result->pointer(), 00381 result->storage(), 00382 str->pointer(), 00383 str->stringLength())); 00384 } 00385 } 00386 00387 00388 void 00389 strTrimA( 00390 RegisterRef<char*>* result, 00391 RegisterRef<char*>* str, 00392 RegisterRef<char*>* trimchar, 00393 RegisterRef* trimLeft, 00394 RegisterRef* trimRight) 00395 { 00396 assert(StandardTypeDescriptor::isTextArray(str->type())); 00397 assert(result->type() == STANDARD_TYPE_VARCHAR); 00398 assert(StandardTypeDescriptor::isTextArray(trimchar->type())); 00399 00400
00401 if (result->isNull() || str->isNull() || trimchar->isNull() || 00402 trimLeft->isNull() || trimRight->isNull()) { 00403 result->toNull(); 00404 result->length(0); 00405 } else { 00406
00407 char * ptr = result->pointer(); 00408 00409 if (trimchar->stringLength() != 1) { 00410
00411
00412 throw "22027"; 00413 } 00414
00415 char tc = (trimchar->pointer()); 00416 00417
00418
00419
00420 int32_t newLen = SqlStrTrim<1,1>( 00421 const_cast<char const **>(&ptr), 00422 str->pointer(), 00423 str->stringLength(), 00424 trimLeft->value(), 00425 trimRight->value(), 00426 tc); 00427 result->pointer(ptr, newLen); 00428 } 00429 } 00430 00431 00432 void 00433 ExtStringRegister(ExtendedInstructionTable
eit) 00434 { 00435 assert(eit != NULL); 00436 00437 vector params_2F; 00438 params_2F.push_back(STANDARD_TYPE_CHAR); 00439 params_2F.push_back(STANDARD_TYPE_CHAR); 00440 00441 vector params_2V; 00442 params_2V.push_back(STANDARD_TYPE_VARCHAR); 00443 params_2V.push_back(STANDARD_TYPE_VARCHAR); 00444 00445 eit->add( 00446 "strCatA2", params_2F, 00447 (ExtendedInstruction2<char*, char*>) NULL, 00448 &strCatA2); 00449 eit->add( 00450 "strCatA2", params_2V, 00451 (ExtendedInstruction2<char*, char*>) NULL, 00452 &strCatA2); 00453 00454 00455 vector params_3F; 00456 params_3F.push_back(STANDARD_TYPE_CHAR); 00457 params_3F.push_back(STANDARD_TYPE_CHAR); 00458 params_3F.push_back(STANDARD_TYPE_CHAR); 00459 00460 vector params_3V; 00461 params_3V.push_back(STANDARD_TYPE_VARCHAR); 00462 params_3V.push_back(STANDARD_TYPE_VARCHAR); 00463 params_3V.push_back(STANDARD_TYPE_VARCHAR); 00464 00465 eit->add( 00466 "strCatA3", params_3F, 00467 (ExtendedInstruction3<char*, char*, char*>) NULL, 00468 &strCatA3); 00469 00470 eit->add( 00471 "strCatA3", params_3V, 00472 (ExtendedInstruction3<char*, char*, char*>) NULL, 00473 &strCatA3); 00474 00475 vector params_1N_2F; 00476 params_1N_2F.push_back(STANDARD_TYPE_INT_32); 00477 params_1N_2F.push_back(STANDARD_TYPE_CHAR); 00478 params_1N_2F.push_back(STANDARD_TYPE_CHAR); 00479 00480 vector params_1N_2V; 00481 params_1N_2V.push_back(STANDARD_TYPE_INT_32); 00482 params_1N_2V.push_back(STANDARD_TYPE_VARCHAR); 00483 params_1N_2V.push_back(STANDARD_TYPE_VARCHAR); 00484 00485 vector params_1N_1F_1V; 00486 params_1N_1F_1V.push_back(STANDARD_TYPE_INT_32); 00487 params_1N_1F_1V.push_back(STANDARD_TYPE_CHAR); 00488 params_1N_1F_1V.push_back(STANDARD_TYPE_VARCHAR); 00489 00490 vector params_1N_1V_1F; 00491 params_1N_1V_1F.push_back(STANDARD_TYPE_INT_32); 00492 params_1N_1V_1F.push_back(STANDARD_TYPE_VARCHAR); 00493 params_1N_1V_1F.push_back(STANDARD_TYPE_CHAR); 00494 00495 eit->add( 00496 "strCmpA", params_1N_2F, 00497 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00498 &strCmpA); 00499 00500 eit->add( 00501 "strCmpA", params_1N_2V, 00502 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00503 &strCmpA); 00504 00505 eit->add( 00506 "strCmpA", params_1N_1F_1V, 00507 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00508 &strCmpA); 00509 00510 eit->add( 00511 "strCmpA", params_1N_1V_1F, 00512 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00513 &strCmpA); 00514 00515 eit->add( 00516 "strCpyA", params_2V, 00517 (ExtendedInstruction2<char*, char*>) NULL, 00518 &strCpyA); 00519 00520 eit->add( 00521 "strCpyA", params_2F, 00522 (ExtendedInstruction2<char*, char*>) NULL, 00523 &strCpyA); 00524 00525 vector params_1N_2B; 00526 params_1N_2B.push_back(STANDARD_TYPE_INT_32); 00527 params_1N_2B.push_back(STANDARD_TYPE_BINARY); 00528 params_1N_2B.push_back(STANDARD_TYPE_BINARY); 00529 00530 vector params_1N_2VB; 00531 params_1N_2VB.push_back(STANDARD_TYPE_INT_32); 00532 params_1N_2VB.push_back(STANDARD_TYPE_VARBINARY); 00533 params_1N_2VB.push_back(STANDARD_TYPE_VARBINARY); 00534 00535 vector params_1N_1B_1VB; 00536 params_1N_1B_1VB.push_back(STANDARD_TYPE_INT_32); 00537 params_1N_1B_1VB.push_back(STANDARD_TYPE_BINARY); 00538 params_1N_1B_1VB.push_back(STANDARD_TYPE_VARBINARY); 00539 00540 vector params_1N_1VB_1B; 00541 params_1N_1VB_1B.push_back(STANDARD_TYPE_INT_32); 00542 params_1N_1VB_1B.push_back(STANDARD_TYPE_VARBINARY); 00543 params_1N_1VB_1B.push_back(STANDARD_TYPE_BINARY); 00544 00545 eit->add( 00546 "strCmpOct", params_1N_2B, 00547 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00548 &strCmpOct); 00549 00550 eit->add( 00551 "strCmpOct", params_1N_2VB, 00552 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00553 &strCmpOct); 00554 00555 eit->add( 00556 "strCmpOct", params_1N_1B_1VB, 00557 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00558 &strCmpOct); 00559 00560 eit->add( 00561 "strCmpOct", params_1N_1VB_1B, 00562 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00563 &strCmpOct); 00564 00565 vector params_1N_1F; 00566 params_1N_1F.push_back(STANDARD_TYPE_INT_32); 00567 params_1N_1F.push_back(STANDARD_TYPE_CHAR); 00568 00569 vector params_1N_1V; 00570 params_1N_1V.push_back(STANDARD_TYPE_INT_32); 00571 params_1N_1V.push_back(STANDARD_TYPE_VARCHAR); 00572 00573 eit->add( 00574 "strLenBitA", params_1N_1F, 00575 (ExtendedInstruction2<int32_t, char*>) NULL, 00576 &strLenBitA); 00577 eit->add( 00578 "strLenBitA", params_1N_1V, 00579 (ExtendedInstruction2<int32_t, char*>) NULL, 00580 &strLenBitA); 00581 00582 eit->add( 00583 "strLenCharA", params_1N_1F, 00584 (ExtendedInstruction2<int32_t, char*>) NULL, 00585 &strLenCharA); 00586 eit->add( 00587 "strLenCharA", params_1N_1V, 00588 (ExtendedInstruction2<int32_t, char*>) NULL, 00589 &strLenCharA); 00590 00591 eit->add( 00592 "strLenOctA", params_1N_1F, 00593 (ExtendedInstruction2<int32_t, char*>) NULL, 00594 &strLenOctA); 00595 eit->add( 00596 "strLenOctA", params_1N_1V, 00597 (ExtendedInstruction2<int32_t, char*>) NULL, 00598 &strLenOctA); 00599 00600 vector params_1V_2F_2I; 00601 params_1V_2F_2I.push_back(STANDARD_TYPE_VARCHAR); 00602 params_1V_2F_2I.push_back(STANDARD_TYPE_CHAR); 00603 params_1V_2F_2I.push_back(STANDARD_TYPE_CHAR); 00604 params_1V_2F_2I.push_back(STANDARD_TYPE_INT_32); 00605 params_1V_2F_2I.push_back(STANDARD_TYPE_INT_32); 00606 00607 vector params_3V_2I; 00608 params_3V_2I.push_back(STANDARD_TYPE_VARCHAR); 00609 params_3V_2I.push_back(STANDARD_TYPE_VARCHAR); 00610 params_3V_2I.push_back(STANDARD_TYPE_VARCHAR); 00611 params_3V_2I.push_back(STANDARD_TYPE_INT_32); 00612 params_3V_2I.push_back(STANDARD_TYPE_INT_32); 00613 00614 eit->add( 00615 "strOverlayA5", params_1V_2F_2I, 00616 (ExtendedInstruction5<char*, char*, char*, int32_t, int32_t>) NULL, 00617 &strOverlayA5); 00618 00619 eit->add( 00620 "strOverlayA5", params_3V_2I, 00621 (ExtendedInstruction5<char*, char*, char*, int32_t, int32_t>) NULL, 00622 &strOverlayA5); 00623 00624 vector params_1V_2F_1I; 00625 params_1V_2F_1I.push_back(STANDARD_TYPE_VARCHAR); 00626 params_1V_2F_1I.push_back(STANDARD_TYPE_CHAR); 00627 params_1V_2F_1I.push_back(STANDARD_TYPE_CHAR); 00628 params_1V_2F_1I.push_back(STANDARD_TYPE_INT_32); 00629 00630 vector params_3V_1I; 00631 params_3V_1I.push_back(STANDARD_TYPE_VARCHAR); 00632 params_3V_1I.push_back(STANDARD_TYPE_VARCHAR); 00633 params_3V_1I.push_back(STANDARD_TYPE_VARCHAR); 00634 params_3V_1I.push_back(STANDARD_TYPE_INT_32); 00635 00636 eit->add( 00637 "strOverlayA4", params_1V_2F_1I, 00638 (ExtendedInstruction4<char*, char*, char*, int32_t>) NULL, 00639 &strOverlayA4); 00640 00641 eit->add( 00642 "strOverlayA4", params_3V_1I, 00643 (ExtendedInstruction4<char*, char*, char*, int32_t>) NULL, 00644 &strOverlayA4); 00645 00646 00647 eit->add( 00648 "strPosA", params_1N_2F, 00649 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00650 &strPosA); 00651 00652 eit->add( 00653 "strPosA", params_1N_2V, 00654 (ExtendedInstruction3<int32_t, char*, char*>) NULL, 00655 &strPosA); 00656 00657 vector params_1V_1F_1N; 00658 params_1V_1F_1N.push_back(STANDARD_TYPE_VARCHAR); 00659 params_1V_1F_1N.push_back(STANDARD_TYPE_CHAR); 00660 params_1V_1F_1N.push_back(STANDARD_TYPE_INT_32); 00661 00662 vector params_2V_1N; 00663 params_2V_1N.push_back(STANDARD_TYPE_VARCHAR); 00664 params_2V_1N.push_back(STANDARD_TYPE_VARCHAR); 00665 params_2V_1N.push_back(STANDARD_TYPE_INT_32); 00666 00667 eit->add( 00668 "strSubStringA3", params_1V_1F_1N, 00669 (ExtendedInstruction3<char*, char*, int32_t>) NULL, 00670 &strSubStringA3); 00671 00672 eit->add( 00673 "strSubStringA3", params_2V_1N, 00674 (ExtendedInstruction3<char*, char*, int32_t>) NULL, 00675 &strSubStringA3); 00676 00677 vector params_1V_1F_2N; 00678 params_1V_1F_2N.push_back(STANDARD_TYPE_VARCHAR); 00679 params_1V_1F_2N.push_back(STANDARD_TYPE_CHAR); 00680 params_1V_1F_2N.push_back(STANDARD_TYPE_INT_32); 00681 params_1V_1F_2N.push_back(STANDARD_TYPE_INT_32); 00682 00683 vector params_2V_2N; 00684 params_2V_2N.push_back(STANDARD_TYPE_VARCHAR); 00685 params_2V_2N.push_back(STANDARD_TYPE_VARCHAR); 00686 params_2V_2N.push_back(STANDARD_TYPE_INT_32); 00687 params_2V_2N.push_back(STANDARD_TYPE_INT_32); 00688 00689 eit->add( 00690 "strSubStringA4", params_1V_1F_2N, 00691 (ExtendedInstruction4<char*, char*, int32_t, int32_t>) NULL, 00692 &strSubStringA4); 00693 00694 eit->add( 00695 "strSubStringA4", params_2V_2N, 00696 (ExtendedInstruction4<char*, char*, int32_t, int32_t>) NULL, 00697 &strSubStringA4); 00698 00699 00700 eit->add( 00701 "strToLowerA", params_2F, 00702 (ExtendedInstruction2<char*, char*>) NULL, 00703 &strToLowerA); 00704 00705 eit->add( 00706 "strToLowerA", params_2V, 00707 (ExtendedInstruction2<char*, char*>) NULL, 00708 &strToLowerA); 00709 00710 eit->add( 00711 "strToUpperA", params_2F, 00712 (ExtendedInstruction2<char*, char*>) NULL, 00713 &strToUpperA); 00714 00715 eit->add( 00716 "strToUpperA", params_2V, 00717 (ExtendedInstruction2<char*, char*>) NULL, 00718 &strToUpperA); 00719 00720 00721
00722 00723 vector params_1V_1F_1V_2I; 00724 params_1V_1F_1V_2I.push_back(STANDARD_TYPE_VARCHAR); 00725 params_1V_1F_1V_2I.push_back(STANDARD_TYPE_CHAR); 00726 params_1V_1F_1V_2I.push_back(STANDARD_TYPE_VARCHAR); 00727 params_1V_1F_1V_2I.push_back(STANDARD_TYPE_INT_32); 00728 params_1V_1F_1V_2I.push_back(STANDARD_TYPE_INT_32); 00729 00730 vector params_2V_1F_2I; 00731 params_2V_1F_2I.push_back(STANDARD_TYPE_VARCHAR); 00732 params_2V_1F_2I.push_back(STANDARD_TYPE_VARCHAR); 00733 params_2V_1F_2I.push_back(STANDARD_TYPE_CHAR); 00734 params_2V_1F_2I.push_back(STANDARD_TYPE_INT_32); 00735 params_2V_1F_2I.push_back(STANDARD_TYPE_INT_32); 00736 00737
00738 eit->add( 00739 "strTrimA", params_3V_2I, 00740 (ExtendedInstruction5<char*, char*, char*, int32_t, int32_t>) NULL, 00741 &strTrimA); 00742
00743 eit->add( 00744 "strTrimA", params_2V_1F_2I, 00745 (ExtendedInstruction5<char*, char*, char*, int32_t, int32_t>
) NULL, 00746 &strTrimA); 00747
00748 eit->add( 00749 "strTrimA", params_1V_2F_2I, 00750 (ExtendedInstruction5<char*, char*, char*, int32_t, int32_t>) NULL, 00751 &strTrimA); 00752
00753 eit->add( 00754 "strTrimA", params_1V_1F_1V_2I, 00755 (ExtendedInstruction5<char*, char*, char*, int32_t, int32_t>
) NULL, 00756 &strTrimA); 00757 } 00758 00759 00760 FENNEL_END_NAMESPACE 00761 00762