transactd 1.1.2 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CMakeLists.txt +37 -4
- data/bin/common/tdclc_32_1_2.dll +0 -0
- data/bin/common/tdclc_64_1_2.dll +0 -0
- data/build/common/transactd_cl_common.cmake +0 -1
- data/build/common/transactd_common.cmake +26 -6
- data/build/swig/php/generate.cmake.in +58 -0
- data/build/swig/php/generate.cmd.in +41 -0
- data/build/swig/php/php.swg +155 -0
- data/build/swig/ruby/ruby.swg +38 -0
- data/build/swig/tdcl.i +133 -3
- data/build/tdclc/CMakeLists.txt +4 -1
- data/build/tdclc/tdclc_32.cbproj +1 -1
- data/build/tdclc/tdclc_64.cbproj +1 -1
- data/build/tdclcpp/CMakeLists.txt +1 -1
- data/build/tdclcpp/tdclcpp_bcb_32.cbproj +1 -4
- data/build/tdclcpp/tdclcpp_bcb_64.cbproj +0 -3
- data/build/tdclrb/CMakeLists.txt +1 -1
- data/build/tdclrb/GEM_VERSION +2 -2
- data/source/bzs/db/engine/mysql/IReadRecords.h +1 -1
- data/source/bzs/db/engine/mysql/bookmark.h +3 -3
- data/source/bzs/db/engine/mysql/database.cpp +95 -19
- data/source/bzs/db/engine/mysql/database.h +6 -6
- data/source/bzs/db/engine/mysql/mysqlInternal.h +43 -1
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +10 -8
- data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +1 -1
- data/source/bzs/db/protocol/tdap/btrDate.h +2 -2
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +15 -8
- data/source/bzs/db/protocol/tdap/client/dbDef.h +2 -2
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +4 -0
- data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +0 -5
- data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +0 -4
- data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -484
- data/source/bzs/db/protocol/tdap/client/filter.h +696 -84
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +13 -3
- data/source/bzs/db/protocol/tdap/client/nsTable.h +12 -6
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +2 -1
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +1 -0
- data/source/bzs/db/protocol/tdap/client/table.cpp +519 -75
- data/source/bzs/db/protocol/tdap/client/table.h +49 -7
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +145 -124
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +39 -0
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +872 -0
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +8 -8
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +7 -9
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +406 -195
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +64 -13
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +2 -1
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +35 -3
- data/source/bzs/db/protocol/tdap/tdapSchema.h +11 -3
- data/source/bzs/db/protocol/tdap/tdapcapi.h +63 -53
- data/source/bzs/env/crosscompile.h +8 -3
- data/source/bzs/example/connection_pool_c.cpp +1 -7
- data/source/bzs/example/useORM.cpp +585 -0
- data/source/bzs/rtl/exception.h +6 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +12 -7
- data/source/bzs/test/tdclphp/transactd_Test.php +1845 -0
- data/source/bzs/test/tdclphp/transactd_blob_Test.php +325 -0
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +183 -0
- data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +212 -0
- data/source/bzs/test/tdclrb/transactd_blob_spec.rb +332 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +256 -1
- data/source/bzs/test/trdclengn/test_blob.cpp +327 -0
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +485 -5
- data/source/global/tdclatl/QueryBase.cpp +231 -0
- data/source/global/tdclatl/QueryBase.h +96 -0
- data/source/global/tdclatl/Table.cpp +24 -0
- data/source/global/tdclatl/Table.h +2 -1
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/tdclatl.idl +88 -2
- metadata +16 -3
- data/bin/common/tdclc_32_1_1.dll +0 -0
- data/bin/common/tdclc_64_1_1.dll +0 -0
@@ -521,7 +521,7 @@ ushort_td nstable::doCommitBulkInsert(bool autoCommit)
|
|
521
521
|
return count;
|
522
522
|
}
|
523
523
|
|
524
|
-
void nstable::
|
524
|
+
void nstable::doAbortBulkInsert()
|
525
525
|
{
|
526
526
|
delete m_impl->bulkIns;
|
527
527
|
m_impl->bulkIns = NULL;
|
@@ -684,7 +684,7 @@ void nstable::stats(void* dataBuf, uint_td len, bool estimate)
|
|
684
684
|
m_keynum = svm_keynum;
|
685
685
|
}
|
686
686
|
|
687
|
-
uint_td nstable::doRecordCount(bool estimate, bool fromCurrent)
|
687
|
+
uint_td nstable::doRecordCount(bool estimate, bool fromCurrent, eFindType /*direction*/)
|
688
688
|
{
|
689
689
|
fileSpec *fs;
|
690
690
|
uint_td Count;
|
@@ -791,7 +791,7 @@ short_td nstable::tdapErr(HWND hWnd, short_td status, const _TCHAR* TableName, _
|
|
791
791
|
|
792
792
|
#pragma warning(disable:4996)
|
793
793
|
if (retbuf)
|
794
|
-
_stprintf(retbuf, _T("table_name:%s %s"), TableName, buf);
|
794
|
+
_stprintf(retbuf, _T("table_name:%s \n%s"), TableName, buf);
|
795
795
|
#pragma warning(default:4996)
|
796
796
|
|
797
797
|
if ((int)hWnd <= 0) return errorCode;
|
@@ -815,6 +815,16 @@ void nstable::throwError(const _TCHAR* caption, short statusCode)
|
|
815
815
|
THROW_BZS_ERROR_WITH_CODEMSG(statusCode, tmp2);
|
816
816
|
}
|
817
817
|
|
818
|
+
void nstable::throwError(const _TCHAR* caption, nstable* tb)
|
819
|
+
{
|
820
|
+
_TCHAR tmp[1024]={0x00};
|
821
|
+
nstable::tdapErr(0x00, tb->stat(), tb->uri(), tmp);
|
822
|
+
_TCHAR tmp2[1024]={0x00};
|
823
|
+
_stprintf_s(tmp2, 1024, _T("[%s]\n%s\n"),caption, tmp);
|
824
|
+
THROW_BZS_ERROR_WITH_CODEMSG(tb->stat(), tmp2);
|
825
|
+
|
826
|
+
}
|
827
|
+
|
818
828
|
_TCHAR* nstable::getDirURI(const _TCHAR* path, _TCHAR* buf)
|
819
829
|
{
|
820
830
|
bool uri = false;
|
@@ -46,9 +46,12 @@ class bulkInsert;
|
|
46
46
|
class AGRPACK nstable
|
47
47
|
{
|
48
48
|
friend class nsdatabase; // for destroy()
|
49
|
+
friend class filter;
|
49
50
|
public:
|
50
51
|
enum eUpdateType{changeCurrentCc,changeCurrentNcc,changeInKey};
|
52
|
+
enum eFindType{findForword, findBackForword};
|
51
53
|
static const bool inkey = true;
|
54
|
+
|
52
55
|
private:
|
53
56
|
struct nstimpl* m_impl;
|
54
57
|
|
@@ -61,7 +64,6 @@ private:
|
|
61
64
|
|
62
65
|
protected:
|
63
66
|
|
64
|
-
|
65
67
|
ushort_td m_op;
|
66
68
|
void* m_pdata;
|
67
69
|
uint_td m_buflen;
|
@@ -105,20 +107,22 @@ protected:
|
|
105
107
|
virtual void doOpen(const _TCHAR* name, char_td mode, const _TCHAR* ownername);
|
106
108
|
virtual void doClose();
|
107
109
|
virtual void doCreateIndex(bool specifyKeyNum);
|
108
|
-
virtual uint_td doRecordCount(bool estimate, bool fromCurrent);
|
110
|
+
virtual uint_td doRecordCount(bool estimate, bool fromCurrent, eFindType direction);
|
109
111
|
virtual short_td doBtrvErr(HWND hWnd, _TCHAR* retbuf);
|
110
112
|
virtual ushort_td doCommitBulkInsert(bool autoCommit);
|
113
|
+
virtual void doAbortBulkInsert();
|
111
114
|
inline void open(const _TCHAR* uri, char_td mode = 0, const _TCHAR* ownerName = NULL) {
|
112
115
|
doOpen(uri, mode, ownerName);}
|
113
116
|
|
114
|
-
/*
|
117
|
+
/*
|
115
118
|
This method is ignore refarence count of nstable and force delete.
|
116
119
|
Use in nsdatabase::reset()
|
117
120
|
*/
|
118
121
|
void destroy();
|
119
122
|
void setShared();
|
120
|
-
|
123
|
+
|
121
124
|
public:
|
125
|
+
|
122
126
|
explicit nstable(nsdatabase *pbe);
|
123
127
|
void addref(void);
|
124
128
|
void release();
|
@@ -148,11 +152,12 @@ public:
|
|
148
152
|
inline ushort_td insert(bool ncc = false) {return doInsert(ncc);};
|
149
153
|
inline void createIndex(bool specifyKeyNum = false) {doCreateIndex(specifyKeyNum);}
|
150
154
|
void dropIndex(bool norenumber = false);
|
151
|
-
inline uint_td recordCount(bool estimate = true, bool fromCurrent = false
|
155
|
+
inline uint_td recordCount(bool estimate = true, bool fromCurrent = false, eFindType direction = findForword)
|
156
|
+
{return doRecordCount(estimate, fromCurrent, direction);}
|
152
157
|
inline short_td tdapErr(HWND hWnd, _TCHAR* retbuf = NULL) {return doBtrvErr(hWnd, retbuf);}
|
153
158
|
|
154
159
|
void beginBulkInsert(int maxBuflen);
|
155
|
-
void abortBulkInsert();
|
160
|
+
void abortBulkInsert(){doAbortBulkInsert();}
|
156
161
|
inline ushort_td commitBulkInsert(bool autoCommit = false) {
|
157
162
|
return doCommitBulkInsert(autoCommit);}
|
158
163
|
void tdap(ushort_td op);
|
@@ -183,6 +188,7 @@ public:
|
|
183
188
|
static short_td tdapErr(HWND hWnd, short_td status, const _TCHAR* tableName = NULL,
|
184
189
|
_TCHAR* retbuf = NULL);
|
185
190
|
static void throwError(const _TCHAR* caption, short statusCode);
|
191
|
+
static void throwError(const _TCHAR* caption, nstable* tb);
|
186
192
|
static _TCHAR* getDirURI(const _TCHAR* uri, _TCHAR* retbuf);
|
187
193
|
static bool existsFile(const _TCHAR* filename);
|
188
194
|
static bool test(nstable* p);
|
@@ -96,6 +96,7 @@ const char* getFieldTypeName(uchar_td fieldType, int size, bool nobinary,
|
|
96
96
|
if (size==4)return "INT";
|
97
97
|
if (size==8)return "BIGINT";
|
98
98
|
case ft_uinteger:
|
99
|
+
case ft_autoIncUnsigned:
|
99
100
|
if (size==1)return "TINYINT UNSIGNED";
|
100
101
|
if (size==2)return "SMALLINT UNSIGNED";
|
101
102
|
if (size==4)return "INT UNSIGNED";
|
@@ -257,7 +258,7 @@ std::string getFiledList(tabledef* table, std::vector<std::string>& fdl)
|
|
257
258
|
s += " NULL";
|
258
259
|
else
|
259
260
|
s += " NOT NULL";
|
260
|
-
if (fd.type == ft_autoinc)
|
261
|
+
if ((fd.type == ft_autoinc)||(fd.type == ft_autoIncUnsigned))
|
261
262
|
s += " AUTO_INCREMENT";
|
262
263
|
s += ",";
|
263
264
|
}
|