@@ -4846,8 +4846,8 @@ namespace Firebird
48464846 IInt128* (CLOOP_CARG *getInt128)(IUtil* self, IStatus* status) CLOOP_NOEXCEPT;
48474847 void (CLOOP_CARG *decodeTimeTzEx)(IUtil* self, IStatus* status, const ISC_TIME_TZ_EX* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) CLOOP_NOEXCEPT;
48484848 void (CLOOP_CARG *decodeTimeStampTzEx)(IUtil* self, IStatus* status, const ISC_TIMESTAMP_TZ_EX* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) CLOOP_NOEXCEPT;
4849- IAttachment* (CLOOP_CARG *executeCreateDatabase2)(IUtil* self, IStatus* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb) CLOOP_NOEXCEPT;
48504849 void (CLOOP_CARG *convert)(IUtil* self, IStatus* status, unsigned sourceType, unsigned sourceScale, unsigned sourceLength, const void* source, unsigned targetType, unsigned targetScale, unsigned targetLength, void* target) CLOOP_NOEXCEPT;
4850+ IAttachment* (CLOOP_CARG *executeCreateDatabase2)(IUtil* self, IStatus* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb) CLOOP_NOEXCEPT;
48514851 };
48524852
48534853 protected:
@@ -5069,31 +5069,31 @@ namespace Firebird
50695069 StatusType::checkException(status);
50705070 }
50715071
5072- template <typename StatusType> IAttachment* executeCreateDatabase2 (StatusType* status, unsigned stmtLength, const char* creatDBstatement , unsigned dialect , unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb )
5072+ template <typename StatusType> void convert (StatusType* status, unsigned sourceType, unsigned sourceScale, unsigned sourceLength, const void* source , unsigned targetType , unsigned targetScale, unsigned targetLength, void* target )
50735073 {
50745074 if (cloopVTable->version < 5)
50755075 {
50765076 StatusType::setVersionError(status, "IUtil", cloopVTable->version, 5);
50775077 StatusType::checkException(status);
5078- return 0 ;
5078+ return;
50795079 }
50805080 StatusType::clearException(status);
5081- IAttachment* ret = static_cast<VTable*>(this->cloopVTable)->executeCreateDatabase2 (this, status, stmtLength, creatDBstatement, dialect, dpbLength, dpb, stmtIsCreateDb );
5081+ static_cast<VTable*>(this->cloopVTable)->convert (this, status, sourceType, sourceScale, sourceLength, source, targetType, targetScale, targetLength, target );
50825082 StatusType::checkException(status);
5083- return ret;
50845083 }
50855084
5086- template <typename StatusType> void convert (StatusType* status, unsigned sourceType, unsigned sourceScale, unsigned sourceLength, const void* source , unsigned targetType , unsigned targetScale, unsigned targetLength, void* target )
5085+ template <typename StatusType> IAttachment* executeCreateDatabase2 (StatusType* status, unsigned stmtLength, const char* creatDBstatement , unsigned dialect , unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb )
50875086 {
50885087 if (cloopVTable->version < 6)
50895088 {
50905089 StatusType::setVersionError(status, "IUtil", cloopVTable->version, 6);
50915090 StatusType::checkException(status);
5092- return;
5091+ return 0 ;
50935092 }
50945093 StatusType::clearException(status);
5095- static_cast<VTable*>(this->cloopVTable)->convert (this, status, sourceType, sourceScale, sourceLength, source, targetType, targetScale, targetLength, target );
5094+ IAttachment* ret = static_cast<VTable*>(this->cloopVTable)->executeCreateDatabase2 (this, status, stmtLength, creatDBstatement, dialect, dpbLength, dpb, stmtIsCreateDb );
50965095 StatusType::checkException(status);
5096+ return ret;
50975097 }
50985098 };
50995099
@@ -16636,8 +16636,8 @@ namespace Firebird
1663616636 this->getInt128 = &Name::cloopgetInt128Dispatcher;
1663716637 this->decodeTimeTzEx = &Name::cloopdecodeTimeTzExDispatcher;
1663816638 this->decodeTimeStampTzEx = &Name::cloopdecodeTimeStampTzExDispatcher;
16639- this->executeCreateDatabase2 = &Name::cloopexecuteCreateDatabase2Dispatcher;
1664016639 this->convert = &Name::cloopconvertDispatcher;
16640+ this->executeCreateDatabase2 = &Name::cloopexecuteCreateDatabase2Dispatcher;
1664116641 }
1664216642 } vTable;
1664316643
@@ -16950,32 +16950,32 @@ namespace Firebird
1695016950 }
1695116951 }
1695216952
16953- static IAttachment* CLOOP_CARG cloopexecuteCreateDatabase2Dispatcher (IUtil* self, IStatus* status, unsigned stmtLength, const char* creatDBstatement , unsigned dialect , unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb ) CLOOP_NOEXCEPT
16953+ static void CLOOP_CARG cloopconvertDispatcher (IUtil* self, IStatus* status, unsigned sourceType, unsigned sourceScale, unsigned sourceLength, const void* source , unsigned targetType , unsigned targetScale, unsigned targetLength, void* target ) CLOOP_NOEXCEPT
1695416954 {
1695516955 StatusType status2(status);
1695616956
1695716957 try
1695816958 {
16959- return static_cast<Name*>(self)->Name::executeCreateDatabase2 (&status2, stmtLength, creatDBstatement, dialect, dpbLength, dpb, stmtIsCreateDb );
16959+ static_cast<Name*>(self)->Name::convert (&status2, sourceType, sourceScale, sourceLength, source, targetType, targetScale, targetLength, target );
1696016960 }
1696116961 catch (...)
1696216962 {
1696316963 StatusType::catchException(&status2);
16964- return static_cast<IAttachment*>(0);
1696516964 }
1696616965 }
1696716966
16968- static void CLOOP_CARG cloopconvertDispatcher (IUtil* self, IStatus* status, unsigned sourceType, unsigned sourceScale, unsigned sourceLength, const void* source , unsigned targetType , unsigned targetScale, unsigned targetLength, void* target ) CLOOP_NOEXCEPT
16967+ static IAttachment* CLOOP_CARG cloopexecuteCreateDatabase2Dispatcher (IUtil* self, IStatus* status, unsigned stmtLength, const char* creatDBstatement , unsigned dialect , unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb ) CLOOP_NOEXCEPT
1696916968 {
1697016969 StatusType status2(status);
1697116970
1697216971 try
1697316972 {
16974- static_cast<Name*>(self)->Name::convert (&status2, sourceType, sourceScale, sourceLength, source, targetType, targetScale, targetLength, target );
16973+ return static_cast<Name*>(self)->Name::executeCreateDatabase2 (&status2, stmtLength, creatDBstatement, dialect, dpbLength, dpb, stmtIsCreateDb );
1697516974 }
1697616975 catch (...)
1697716976 {
1697816977 StatusType::catchException(&status2);
16978+ return static_cast<IAttachment*>(0);
1697916979 }
1698016980 }
1698116981 };
@@ -17015,8 +17015,8 @@ namespace Firebird
1701517015 virtual IInt128* getInt128(StatusType* status) = 0;
1701617016 virtual void decodeTimeTzEx(StatusType* status, const ISC_TIME_TZ_EX* timeTz, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) = 0;
1701717017 virtual void decodeTimeStampTzEx(StatusType* status, const ISC_TIMESTAMP_TZ_EX* timeStampTz, unsigned* year, unsigned* month, unsigned* day, unsigned* hours, unsigned* minutes, unsigned* seconds, unsigned* fractions, unsigned timeZoneBufferLength, char* timeZoneBuffer) = 0;
17018- virtual IAttachment* executeCreateDatabase2(StatusType* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb) = 0;
1701917018 virtual void convert(StatusType* status, unsigned sourceType, unsigned sourceScale, unsigned sourceLength, const void* source, unsigned targetType, unsigned targetScale, unsigned targetLength, void* target) = 0;
17019+ virtual IAttachment* executeCreateDatabase2(StatusType* status, unsigned stmtLength, const char* creatDBstatement, unsigned dialect, unsigned dpbLength, const unsigned char* dpb, FB_BOOLEAN* stmtIsCreateDb) = 0;
1702017020 };
1702117021
1702217022 template <typename Name, typename StatusType, typename Base>
0 commit comments