@@ -1869,7 +1869,7 @@ namespace Firebird
1869
1869
}
1870
1870
};
1871
1871
1872
- #define FIREBIRD_ISTATEMENT_VERSION 5u
1872
+ #define FIREBIRD_ISTATEMENT_VERSION 6u
1873
1873
1874
1874
class IStatement : public IReferenceCounted
1875
1875
{
@@ -1891,6 +1891,8 @@ namespace Firebird
1891
1891
void (CLOOP_CARG *setTimeout)(IStatement* self, IStatus* status, unsigned timeOut) CLOOP_NOEXCEPT;
1892
1892
IBatch* (CLOOP_CARG *createBatch)(IStatement* self, IStatus* status, IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par) CLOOP_NOEXCEPT;
1893
1893
void (CLOOP_CARG *free)(IStatement* self, IStatus* status) CLOOP_NOEXCEPT;
1894
+ unsigned (CLOOP_CARG *getMaxInlineBlobSize)(IStatement* self, IStatus* status) CLOOP_NOEXCEPT;
1895
+ void (CLOOP_CARG *setMaxInlineBlobSize)(IStatement* self, IStatus* status, unsigned size) CLOOP_NOEXCEPT;
1894
1896
};
1895
1897
1896
1898
protected:
@@ -2063,6 +2065,33 @@ namespace Firebird
2063
2065
static_cast<VTable*>(this->cloopVTable)->free(this, status);
2064
2066
StatusType::checkException(status);
2065
2067
}
2068
+
2069
+ template <typename StatusType> unsigned getMaxInlineBlobSize(StatusType* status)
2070
+ {
2071
+ if (cloopVTable->version < 6)
2072
+ {
2073
+ StatusType::setVersionError(status, "IStatement", cloopVTable->version, 6);
2074
+ StatusType::checkException(status);
2075
+ return 0;
2076
+ }
2077
+ StatusType::clearException(status);
2078
+ unsigned ret = static_cast<VTable*>(this->cloopVTable)->getMaxInlineBlobSize(this, status);
2079
+ StatusType::checkException(status);
2080
+ return ret;
2081
+ }
2082
+
2083
+ template <typename StatusType> void setMaxInlineBlobSize(StatusType* status, unsigned size)
2084
+ {
2085
+ if (cloopVTable->version < 6)
2086
+ {
2087
+ StatusType::setVersionError(status, "IStatement", cloopVTable->version, 6);
2088
+ StatusType::checkException(status);
2089
+ return;
2090
+ }
2091
+ StatusType::clearException(status);
2092
+ static_cast<VTable*>(this->cloopVTable)->setMaxInlineBlobSize(this, status, size);
2093
+ StatusType::checkException(status);
2094
+ }
2066
2095
};
2067
2096
2068
2097
#define FIREBIRD_IBATCH_VERSION 4u
@@ -2498,7 +2527,7 @@ namespace Firebird
2498
2527
}
2499
2528
};
2500
2529
2501
- #define FIREBIRD_IATTACHMENT_VERSION 5u
2530
+ #define FIREBIRD_IATTACHMENT_VERSION 6u
2502
2531
2503
2532
class IAttachment : public IReferenceCounted
2504
2533
{
@@ -2531,6 +2560,10 @@ namespace Firebird
2531
2560
IReplicator* (CLOOP_CARG *createReplicator)(IAttachment* self, IStatus* status) CLOOP_NOEXCEPT;
2532
2561
void (CLOOP_CARG *detach)(IAttachment* self, IStatus* status) CLOOP_NOEXCEPT;
2533
2562
void (CLOOP_CARG *dropDatabase)(IAttachment* self, IStatus* status) CLOOP_NOEXCEPT;
2563
+ unsigned (CLOOP_CARG *getMaxBlobCacheSize)(IAttachment* self, IStatus* status) CLOOP_NOEXCEPT;
2564
+ void (CLOOP_CARG *setMaxBlobCacheSize)(IAttachment* self, IStatus* status, unsigned size) CLOOP_NOEXCEPT;
2565
+ unsigned (CLOOP_CARG *getMaxInlineBlobSize)(IAttachment* self, IStatus* status) CLOOP_NOEXCEPT;
2566
+ void (CLOOP_CARG *setMaxInlineBlobSize)(IAttachment* self, IStatus* status, unsigned size) CLOOP_NOEXCEPT;
2534
2567
};
2535
2568
2536
2569
protected:
@@ -2799,6 +2832,60 @@ namespace Firebird
2799
2832
static_cast<VTable*>(this->cloopVTable)->dropDatabase(this, status);
2800
2833
StatusType::checkException(status);
2801
2834
}
2835
+
2836
+ template <typename StatusType> unsigned getMaxBlobCacheSize(StatusType* status)
2837
+ {
2838
+ if (cloopVTable->version < 6)
2839
+ {
2840
+ StatusType::setVersionError(status, "IAttachment", cloopVTable->version, 6);
2841
+ StatusType::checkException(status);
2842
+ return 0;
2843
+ }
2844
+ StatusType::clearException(status);
2845
+ unsigned ret = static_cast<VTable*>(this->cloopVTable)->getMaxBlobCacheSize(this, status);
2846
+ StatusType::checkException(status);
2847
+ return ret;
2848
+ }
2849
+
2850
+ template <typename StatusType> void setMaxBlobCacheSize(StatusType* status, unsigned size)
2851
+ {
2852
+ if (cloopVTable->version < 6)
2853
+ {
2854
+ StatusType::setVersionError(status, "IAttachment", cloopVTable->version, 6);
2855
+ StatusType::checkException(status);
2856
+ return;
2857
+ }
2858
+ StatusType::clearException(status);
2859
+ static_cast<VTable*>(this->cloopVTable)->setMaxBlobCacheSize(this, status, size);
2860
+ StatusType::checkException(status);
2861
+ }
2862
+
2863
+ template <typename StatusType> unsigned getMaxInlineBlobSize(StatusType* status)
2864
+ {
2865
+ if (cloopVTable->version < 6)
2866
+ {
2867
+ StatusType::setVersionError(status, "IAttachment", cloopVTable->version, 6);
2868
+ StatusType::checkException(status);
2869
+ return 0;
2870
+ }
2871
+ StatusType::clearException(status);
2872
+ unsigned ret = static_cast<VTable*>(this->cloopVTable)->getMaxInlineBlobSize(this, status);
2873
+ StatusType::checkException(status);
2874
+ return ret;
2875
+ }
2876
+
2877
+ template <typename StatusType> void setMaxInlineBlobSize(StatusType* status, unsigned size)
2878
+ {
2879
+ if (cloopVTable->version < 6)
2880
+ {
2881
+ StatusType::setVersionError(status, "IAttachment", cloopVTable->version, 6);
2882
+ StatusType::checkException(status);
2883
+ return;
2884
+ }
2885
+ StatusType::clearException(status);
2886
+ static_cast<VTable*>(this->cloopVTable)->setMaxInlineBlobSize(this, status, size);
2887
+ StatusType::checkException(status);
2888
+ }
2802
2889
};
2803
2890
2804
2891
#define FIREBIRD_ISERVICE_VERSION 5u
@@ -10549,6 +10636,8 @@ namespace Firebird
10549
10636
this->setTimeout = &Name::cloopsetTimeoutDispatcher;
10550
10637
this->createBatch = &Name::cloopcreateBatchDispatcher;
10551
10638
this->free = &Name::cloopfreeDispatcher;
10639
+ this->getMaxInlineBlobSize = &Name::cloopgetMaxInlineBlobSizeDispatcher;
10640
+ this->setMaxInlineBlobSize = &Name::cloopsetMaxInlineBlobSizeDispatcher;
10552
10641
}
10553
10642
} vTable;
10554
10643
@@ -10775,6 +10864,35 @@ namespace Firebird
10775
10864
}
10776
10865
}
10777
10866
10867
+ static unsigned CLOOP_CARG cloopgetMaxInlineBlobSizeDispatcher(IStatement* self, IStatus* status) CLOOP_NOEXCEPT
10868
+ {
10869
+ StatusType status2(status);
10870
+
10871
+ try
10872
+ {
10873
+ return static_cast<Name*>(self)->Name::getMaxInlineBlobSize(&status2);
10874
+ }
10875
+ catch (...)
10876
+ {
10877
+ StatusType::catchException(&status2);
10878
+ return static_cast<unsigned>(0);
10879
+ }
10880
+ }
10881
+
10882
+ static void CLOOP_CARG cloopsetMaxInlineBlobSizeDispatcher(IStatement* self, IStatus* status, unsigned size) CLOOP_NOEXCEPT
10883
+ {
10884
+ StatusType status2(status);
10885
+
10886
+ try
10887
+ {
10888
+ static_cast<Name*>(self)->Name::setMaxInlineBlobSize(&status2, size);
10889
+ }
10890
+ catch (...)
10891
+ {
10892
+ StatusType::catchException(&status2);
10893
+ }
10894
+ }
10895
+
10778
10896
static void CLOOP_CARG cloopaddRefDispatcher(IReferenceCounted* self) CLOOP_NOEXCEPT
10779
10897
{
10780
10898
try
@@ -10829,6 +10947,8 @@ namespace Firebird
10829
10947
virtual void setTimeout(StatusType* status, unsigned timeOut) = 0;
10830
10948
virtual IBatch* createBatch(StatusType* status, IMessageMetadata* inMetadata, unsigned parLength, const unsigned char* par) = 0;
10831
10949
virtual void free(StatusType* status) = 0;
10950
+ virtual unsigned getMaxInlineBlobSize(StatusType* status) = 0;
10951
+ virtual void setMaxInlineBlobSize(StatusType* status, unsigned size) = 0;
10832
10952
};
10833
10953
10834
10954
template <typename Name, typename StatusType, typename Base>
@@ -11654,6 +11774,10 @@ namespace Firebird
11654
11774
this->createReplicator = &Name::cloopcreateReplicatorDispatcher;
11655
11775
this->detach = &Name::cloopdetachDispatcher;
11656
11776
this->dropDatabase = &Name::cloopdropDatabaseDispatcher;
11777
+ this->getMaxBlobCacheSize = &Name::cloopgetMaxBlobCacheSizeDispatcher;
11778
+ this->setMaxBlobCacheSize = &Name::cloopsetMaxBlobCacheSizeDispatcher;
11779
+ this->getMaxInlineBlobSize = &Name::cloopgetMaxInlineBlobSizeDispatcher;
11780
+ this->setMaxInlineBlobSize = &Name::cloopsetMaxInlineBlobSizeDispatcher;
11657
11781
}
11658
11782
} vTable;
11659
11783
@@ -12038,6 +12162,64 @@ namespace Firebird
12038
12162
}
12039
12163
}
12040
12164
12165
+ static unsigned CLOOP_CARG cloopgetMaxBlobCacheSizeDispatcher(IAttachment* self, IStatus* status) CLOOP_NOEXCEPT
12166
+ {
12167
+ StatusType status2(status);
12168
+
12169
+ try
12170
+ {
12171
+ return static_cast<Name*>(self)->Name::getMaxBlobCacheSize(&status2);
12172
+ }
12173
+ catch (...)
12174
+ {
12175
+ StatusType::catchException(&status2);
12176
+ return static_cast<unsigned>(0);
12177
+ }
12178
+ }
12179
+
12180
+ static void CLOOP_CARG cloopsetMaxBlobCacheSizeDispatcher(IAttachment* self, IStatus* status, unsigned size) CLOOP_NOEXCEPT
12181
+ {
12182
+ StatusType status2(status);
12183
+
12184
+ try
12185
+ {
12186
+ static_cast<Name*>(self)->Name::setMaxBlobCacheSize(&status2, size);
12187
+ }
12188
+ catch (...)
12189
+ {
12190
+ StatusType::catchException(&status2);
12191
+ }
12192
+ }
12193
+
12194
+ static unsigned CLOOP_CARG cloopgetMaxInlineBlobSizeDispatcher(IAttachment* self, IStatus* status) CLOOP_NOEXCEPT
12195
+ {
12196
+ StatusType status2(status);
12197
+
12198
+ try
12199
+ {
12200
+ return static_cast<Name*>(self)->Name::getMaxInlineBlobSize(&status2);
12201
+ }
12202
+ catch (...)
12203
+ {
12204
+ StatusType::catchException(&status2);
12205
+ return static_cast<unsigned>(0);
12206
+ }
12207
+ }
12208
+
12209
+ static void CLOOP_CARG cloopsetMaxInlineBlobSizeDispatcher(IAttachment* self, IStatus* status, unsigned size) CLOOP_NOEXCEPT
12210
+ {
12211
+ StatusType status2(status);
12212
+
12213
+ try
12214
+ {
12215
+ static_cast<Name*>(self)->Name::setMaxInlineBlobSize(&status2, size);
12216
+ }
12217
+ catch (...)
12218
+ {
12219
+ StatusType::catchException(&status2);
12220
+ }
12221
+ }
12222
+
12041
12223
static void CLOOP_CARG cloopaddRefDispatcher(IReferenceCounted* self) CLOOP_NOEXCEPT
12042
12224
{
12043
12225
try
@@ -12103,6 +12285,10 @@ namespace Firebird
12103
12285
virtual IReplicator* createReplicator(StatusType* status) = 0;
12104
12286
virtual void detach(StatusType* status) = 0;
12105
12287
virtual void dropDatabase(StatusType* status) = 0;
12288
+ virtual unsigned getMaxBlobCacheSize(StatusType* status) = 0;
12289
+ virtual void setMaxBlobCacheSize(StatusType* status, unsigned size) = 0;
12290
+ virtual unsigned getMaxInlineBlobSize(StatusType* status) = 0;
12291
+ virtual void setMaxInlineBlobSize(StatusType* status, unsigned size) = 0;
12106
12292
};
12107
12293
12108
12294
template <typename Name, typename StatusType, typename Base>
0 commit comments