transactd 2.2.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/BUILD_UNIX-JA +6 -6
- data/README +20 -18
- data/README-JA +19 -17
- data/RELEASE_NOTE +144 -0
- data/RELEASE_NOTE-JA +153 -0
- data/bin/common/tdclc_32_2_3.dll +0 -0
- data/bin/common/tdclc_64_2_3.dll +0 -0
- data/build/common/get_ruby_path.cmake +1 -1
- data/build/swig/ruby/ruby.swg +10 -9
- data/build/swig/ruby/tdclrb_wrap.cpp +1416 -561
- data/build/swig/tdcl.i +30 -3
- data/build/tdclc/tdclc.cbproj +1 -1
- data/build/tdclc/tdclc.rc +4 -4
- data/build/tdclcpp/BUILDNUMBER.txt +1 -0
- data/build/tdclcpp/tdclcpp.rc +4 -4
- data/build/tdclcpp/tdclcpp_bc.cbproj +1 -1
- data/build/tdclrb/BUILDNUMBER.txt +1 -0
- data/build/tdclrb/tdclrb.rc +4 -4
- data/source/bzs/db/engine/mysql/database.cpp +85 -41
- data/source/bzs/db/engine/mysql/database.h +35 -5
- data/source/bzs/db/engine/mysql/mysqlInternal.h +189 -37
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +21 -21
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +11 -0
- data/source/bzs/db/protocol/tdap/client/activeTable.h +1 -1
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +11 -4
- data/source/bzs/db/protocol/tdap/client/client.h +30 -1
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +2 -1
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +35 -5
- data/source/bzs/db/protocol/tdap/client/field.cpp +100 -51
- data/source/bzs/db/protocol/tdap/client/field.h +7 -7
- data/source/bzs/db/protocol/tdap/client/filter.h +20 -6
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +337 -58
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +56 -13
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +83 -5
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -1
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +2 -2
- data/source/bzs/db/protocol/tdap/client/nsTable.h +2 -1
- data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +20 -6
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +7 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +8 -4
- data/source/bzs/db/protocol/tdap/client/request.h +11 -1
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +40 -2
- data/source/bzs/db/protocol/tdap/client/serializer.h +4 -2
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +1 -0
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +4 -4
- data/source/bzs/db/protocol/tdap/client/table.cpp +124 -71
- data/source/bzs/db/protocol/tdap/client/table.h +8 -7
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +33 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +1 -1
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +3 -1
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +20 -4
- data/source/bzs/db/protocol/tdap/mysql/request.h +14 -0
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +132 -69
- data/source/bzs/db/protocol/tdap/tdapRequest.h +18 -4
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +32 -22
- data/source/bzs/db/protocol/tdap/tdapSchema.h +69 -4
- data/source/bzs/db/protocol/tdap/tdapcapi.h +13 -5
- data/source/bzs/db/protocol/tdap/uri.h +4 -4
- data/source/bzs/db/transactd/transactd.cpp +6 -5
- data/source/bzs/env/crosscompile.cpp +17 -0
- data/source/bzs/env/crosscompile.h +4 -1
- data/source/bzs/env/mbcswchrLinux.cpp +3 -0
- data/source/bzs/example/deleteRecords.cpp +13 -0
- data/source/bzs/example/deleteRecords_c.cpp +8 -1
- data/source/bzs/example/insertRecords.cpp +14 -0
- data/source/bzs/example/insertRecords_c.cpp +8 -1
- data/source/bzs/example/ormap_c.cpp +8 -1
- data/source/bzs/example/queryData.cpp +92 -2
- data/source/bzs/example/queryData.h +3 -1
- data/source/bzs/example/readRecords.cpp +13 -0
- data/source/bzs/example/readRecords_c.cpp +8 -1
- data/source/bzs/example/updateRecords.cpp +13 -0
- data/source/bzs/example/updateRecords_c.cpp +8 -1
- data/source/bzs/example/update_with_transaction.cpp +13 -0
- data/source/bzs/example/update_with_transaction_c.cpp +8 -1
- data/source/bzs/example/useORMRecord.cpp +9 -3
- data/source/bzs/netsvc/client/iconnection.h +8 -0
- data/source/bzs/netsvc/client/tcpClient.cpp +61 -16
- data/source/bzs/netsvc/client/tcpClient.h +430 -214
- data/source/bzs/netsvc/server/serverPipe.cpp +2 -2
- data/source/bzs/test/tdclphp/transactd_Test.php +115 -19
- data/source/bzs/test/tdclphp/transactd_blob_Test.php +33 -5
- data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +21 -3
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +17 -3
- data/source/bzs/test/tdclrb/transactd_blob_spec.rb +26 -8
- data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +13 -6
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +14 -8
- data/source/bzs/test/tdclrb/transactd_spec.rb +117 -27
- data/source/bzs/test/transactdBench/scaling_bench.cpp +5 -5
- data/source/bzs/test/transactdBench/workerBase.h +2 -2
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +898 -51
- data/source/global/tdclatl/Database.cpp +12 -0
- data/source/global/tdclatl/Database.h +4 -0
- data/source/global/tdclatl/FieldDef.cpp +19 -0
- data/source/global/tdclatl/FieldDef.h +4 -0
- data/source/global/tdclatl/FieldDefs.cpp +14 -16
- data/source/global/tdclatl/GroupQuery.cpp +21 -16
- data/source/global/tdclatl/GroupQuery.h +1 -1
- data/source/global/tdclatl/QueryBase.cpp +14 -0
- data/source/global/tdclatl/QueryBase.h +2 -0
- data/source/global/tdclatl/Record.cpp +41 -10
- data/source/global/tdclatl/Record.h +1 -1
- data/source/global/tdclatl/Recordset.cpp +117 -31
- data/source/global/tdclatl/Recordset.h +6 -5
- data/source/global/tdclatl/Table.cpp +24 -28
- data/source/global/tdclatl/Table.h +3 -4
- data/source/global/tdclatl/activeTable.cpp +149 -103
- data/source/global/tdclatl/activeTable.h +1 -1
- data/source/global/tdclatl/tdclatl.idl +38 -18
- data/transactd.gemspec +1 -1
- metadata +8 -4
- data/bin/common/tdclc_32_2_2.dll +0 -0
- data/bin/common/tdclc_64_2_2.dll +0 -0
|
@@ -134,10 +134,6 @@ public:
|
|
|
134
134
|
STDMETHOD(get_RecordHash)(unsigned int* Value);
|
|
135
135
|
STDMETHOD(get_LogicalToString)(VARIANT_BOOL* Value);
|
|
136
136
|
STDMETHOD(put_LogicalToString)(VARIANT_BOOL Value);
|
|
137
|
-
STDMETHOD(get_TrimPadChar)(VARIANT_BOOL* Value);
|
|
138
|
-
STDMETHOD(put_TrimPadChar)(VARIANT_BOOL Value);
|
|
139
|
-
STDMETHOD(get_UsePadChar)(VARIANT_BOOL* Value);
|
|
140
|
-
STDMETHOD(put_UsePadChar)(VARIANT_BOOL Value);
|
|
141
137
|
STDMETHOD(MoveBookmarksId)(long Value);
|
|
142
138
|
STDMETHOD(get_MyDateTimeValueByBtrv)(VARIANT_BOOL* Value);
|
|
143
139
|
STDMETHOD(get_ValiableFormatType)(VARIANT_BOOL* Value);
|
|
@@ -147,4 +143,7 @@ public:
|
|
|
147
143
|
STDMETHOD(Prepare)(IQueryBase* Value, VARIANT_BOOL ServerPrepare, IPreparedQuery** retVal);
|
|
148
144
|
STDMETHOD(SetPrepare)(IPreparedQuery* Value);
|
|
149
145
|
STDMETHOD(FieldNumByName)(BSTR Name, short* Value);
|
|
146
|
+
STDMETHOD(get_StatReasonOfFind)(short* Value);
|
|
147
|
+
STDMETHOD(get_LastFindDirection)(short* Value);
|
|
148
|
+
|
|
150
149
|
};
|
|
@@ -37,7 +37,10 @@ void CActiveTable::setResult(IActiveTable** retVal)
|
|
|
37
37
|
|
|
38
38
|
void CActiveTable::FinalRelease()
|
|
39
39
|
{
|
|
40
|
-
|
|
40
|
+
if (m_recObj)
|
|
41
|
+
m_recObj->Release();
|
|
42
|
+
if (m_at)
|
|
43
|
+
m_at->release();
|
|
41
44
|
}
|
|
42
45
|
|
|
43
46
|
STDMETHODIMP CActiveTable::SetDatabase(VARIANT Value, BSTR tableName)
|
|
@@ -53,7 +56,7 @@ STDMETHODIMP CActiveTable::SetDatabase(VARIANT Value, BSTR tableName)
|
|
|
53
56
|
CPooledDbManager* pm = dynamic_cast<CPooledDbManager*>(Value.pdispVal);
|
|
54
57
|
if (pm)
|
|
55
58
|
{
|
|
56
|
-
m_at =
|
|
59
|
+
m_at = activeTable::create(&pm->m_mgr, tableName);
|
|
57
60
|
m_at->table()->setOptionalData((void*)NULL);
|
|
58
61
|
return S_OK;
|
|
59
62
|
}
|
|
@@ -61,7 +64,7 @@ STDMETHODIMP CActiveTable::SetDatabase(VARIANT Value, BSTR tableName)
|
|
|
61
64
|
CDatabase* p = dynamic_cast<CDatabase*>(Value.pdispVal);
|
|
62
65
|
if (p)
|
|
63
66
|
{
|
|
64
|
-
m_at =
|
|
67
|
+
m_at = activeTable::create(p->database(), tableName);
|
|
65
68
|
m_at->table()->setOptionalData((void*)p->database());
|
|
66
69
|
return S_OK;
|
|
67
70
|
}
|
|
@@ -75,9 +78,16 @@ STDMETHODIMP CActiveTable::SetDatabase(VARIANT Value, BSTR tableName)
|
|
|
75
78
|
|
|
76
79
|
STDMETHODIMP CActiveTable::Index(short Value, IActiveTable** retVal)
|
|
77
80
|
{
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
+
try
|
|
82
|
+
{
|
|
83
|
+
m_at->index(Value);
|
|
84
|
+
setResult(retVal);
|
|
85
|
+
return S_OK;
|
|
86
|
+
}
|
|
87
|
+
catch (bzs::rtl::exception& e)
|
|
88
|
+
{
|
|
89
|
+
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
90
|
+
}
|
|
81
91
|
}
|
|
82
92
|
|
|
83
93
|
STDMETHODIMP CActiveTable::KeyValue(VARIANT Value0, VARIANT Value1,
|
|
@@ -87,78 +97,85 @@ STDMETHODIMP CActiveTable::KeyValue(VARIANT Value0, VARIANT Value1,
|
|
|
87
97
|
IActiveTable** retVal)
|
|
88
98
|
{
|
|
89
99
|
|
|
90
|
-
|
|
91
|
-
VariantChangeType(&Value0, &Value0, 0, VT_BSTR);
|
|
92
|
-
|
|
93
|
-
if (Value1.vt != VT_BSTR)
|
|
94
|
-
VariantChangeType(&Value1, &Value1, 0, VT_BSTR);
|
|
95
|
-
if (!Value1.bstrVal || !Value1.bstrVal[0])
|
|
100
|
+
try
|
|
96
101
|
{
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
return S_OK;
|
|
100
|
-
}
|
|
102
|
+
if (Value0.vt != VT_BSTR)
|
|
103
|
+
VariantChangeType(&Value0, &Value0, 0, VT_BSTR);
|
|
101
104
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
if (Value3.vt != VT_BSTR)
|
|
111
|
-
VariantChangeType(&Value3, &Value3, 0, VT_BSTR);
|
|
112
|
-
if (!Value3.bstrVal || !Value3.bstrVal[0])
|
|
113
|
-
{
|
|
114
|
-
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal);
|
|
115
|
-
setResult(retVal);
|
|
116
|
-
return S_OK;
|
|
117
|
-
}
|
|
118
|
-
if (Value4.vt != VT_BSTR)
|
|
119
|
-
VariantChangeType(&Value4, &Value4, 0, VT_BSTR);
|
|
120
|
-
if (!Value4.bstrVal || !Value4.bstrVal[0])
|
|
121
|
-
{
|
|
122
|
-
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal,
|
|
123
|
-
Value3.bstrVal);
|
|
124
|
-
setResult(retVal);
|
|
125
|
-
return S_OK;
|
|
126
|
-
}
|
|
105
|
+
if (Value1.vt != VT_BSTR)
|
|
106
|
+
VariantChangeType(&Value1, &Value1, 0, VT_BSTR);
|
|
107
|
+
if (!Value1.bstrVal || !Value1.bstrVal[0])
|
|
108
|
+
{
|
|
109
|
+
m_at->keyValue(Value0.bstrVal);
|
|
110
|
+
setResult(retVal);
|
|
111
|
+
return S_OK;
|
|
112
|
+
}
|
|
127
113
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
114
|
+
if (Value2.vt != VT_BSTR)
|
|
115
|
+
VariantChangeType(&Value2, &Value2, 0, VT_BSTR);
|
|
116
|
+
if (!Value2.bstrVal || !Value2.bstrVal[0])
|
|
117
|
+
{
|
|
118
|
+
m_at->keyValue(Value0.bstrVal, Value1.bstrVal);
|
|
119
|
+
setResult(retVal);
|
|
120
|
+
return S_OK;
|
|
121
|
+
}
|
|
122
|
+
if (Value3.vt != VT_BSTR)
|
|
123
|
+
VariantChangeType(&Value3, &Value3, 0, VT_BSTR);
|
|
124
|
+
if (!Value3.bstrVal || !Value3.bstrVal[0])
|
|
125
|
+
{
|
|
126
|
+
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal);
|
|
127
|
+
setResult(retVal);
|
|
128
|
+
return S_OK;
|
|
129
|
+
}
|
|
130
|
+
if (Value4.vt != VT_BSTR)
|
|
131
|
+
VariantChangeType(&Value4, &Value4, 0, VT_BSTR);
|
|
132
|
+
if (!Value4.bstrVal || !Value4.bstrVal[0])
|
|
133
|
+
{
|
|
134
|
+
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal,
|
|
135
|
+
Value3.bstrVal);
|
|
136
|
+
setResult(retVal);
|
|
137
|
+
return S_OK;
|
|
138
|
+
}
|
|
146
139
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
140
|
+
if (Value5.vt != VT_BSTR)
|
|
141
|
+
VariantChangeType(&Value5, &Value5, 0, VT_BSTR);
|
|
142
|
+
if (!Value5.bstrVal || !Value5.bstrVal[0])
|
|
143
|
+
{
|
|
144
|
+
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal,
|
|
145
|
+
Value3.bstrVal, Value4.bstrVal);
|
|
146
|
+
setResult(retVal);
|
|
147
|
+
return S_OK;
|
|
148
|
+
}
|
|
149
|
+
if (Value6.vt != VT_BSTR)
|
|
150
|
+
VariantChangeType(&Value6, &Value6, 0, VT_BSTR);
|
|
151
|
+
if (!Value6.bstrVal || !Value6.bstrVal[0])
|
|
152
|
+
{
|
|
153
|
+
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal,
|
|
154
|
+
Value3.bstrVal, Value4.bstrVal, Value5.bstrVal);
|
|
155
|
+
setResult(retVal);
|
|
156
|
+
return S_OK;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
if (Value7.vt != VT_BSTR)
|
|
160
|
+
VariantChangeType(&Value7, &Value7, 0, VT_BSTR);
|
|
161
|
+
if (!Value7.bstrVal || !Value7.bstrVal[0])
|
|
162
|
+
{
|
|
163
|
+
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal,
|
|
164
|
+
Value3.bstrVal, Value4.bstrVal, Value5.bstrVal,
|
|
165
|
+
Value6.bstrVal);
|
|
166
|
+
setResult(retVal);
|
|
167
|
+
return S_OK;
|
|
168
|
+
}
|
|
151
169
|
m_at->keyValue(Value0.bstrVal, Value1.bstrVal, Value2.bstrVal,
|
|
152
170
|
Value3.bstrVal, Value4.bstrVal, Value5.bstrVal,
|
|
153
|
-
Value6.bstrVal);
|
|
171
|
+
Value6.bstrVal, Value7.bstrVal);
|
|
154
172
|
setResult(retVal);
|
|
155
173
|
return S_OK;
|
|
156
174
|
}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return S_OK;
|
|
175
|
+
catch (bzs::rtl::exception& e)
|
|
176
|
+
{
|
|
177
|
+
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
178
|
+
}
|
|
162
179
|
}
|
|
163
180
|
|
|
164
181
|
STDMETHODIMP CActiveTable::Option(int Value, IActiveTable** retVal)
|
|
@@ -447,7 +464,6 @@ STDMETHODIMP CActiveTable::OuterJoin(IRecordset* rs, VARIANT query,
|
|
|
447
464
|
{
|
|
448
465
|
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
449
466
|
}
|
|
450
|
-
|
|
451
467
|
}
|
|
452
468
|
|
|
453
469
|
STDMETHODIMP CActiveTable::Prepare(IQueryBase* Value, VARIANT_BOOL ServerPrepare, IPreparedQuery** retVal)
|
|
@@ -459,48 +475,59 @@ STDMETHODIMP CActiveTable::Prepare(IQueryBase* Value, VARIANT_BOOL ServerPrepare
|
|
|
459
475
|
{
|
|
460
476
|
CComObject<CPreparedQuery>* rsObj;
|
|
461
477
|
CComObject<CPreparedQuery>::CreateInstance(&rsObj);
|
|
462
|
-
|
|
463
478
|
if (!rsObj)
|
|
464
|
-
return Error(_T("
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
479
|
+
return Error(_T("CreateInstance PreparedQuery"), IID_ITable);
|
|
480
|
+
try
|
|
481
|
+
{
|
|
482
|
+
rsObj->setPqHandle(m_at->prepare(p->query(), (bool)ServerPrepare));
|
|
483
|
+
IPreparedQuery* pd;
|
|
484
|
+
rsObj->QueryInterface(IID_IPreparedQuery, (void**)&pd);
|
|
485
|
+
_ASSERTE(pd);
|
|
486
|
+
*retVal = pd;
|
|
487
|
+
return S_OK;
|
|
488
|
+
}
|
|
489
|
+
catch (bzs::rtl::exception& e)
|
|
490
|
+
{
|
|
491
|
+
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
492
|
+
}
|
|
472
493
|
}
|
|
473
494
|
}
|
|
474
495
|
return Error(_T("Invalid ActiveTable::Prepare param 1"), IID_IActiveTable);
|
|
475
496
|
}
|
|
476
497
|
|
|
477
|
-
|
|
478
498
|
STDMETHODIMP CActiveTable::GetWritableRecord(IWritableRecord** retVal)
|
|
479
499
|
{
|
|
480
500
|
|
|
481
501
|
if (m_recObj == NULL)
|
|
482
502
|
{
|
|
483
503
|
CComObject<CWritableRecord>::CreateInstance(&m_recObj);
|
|
484
|
-
|
|
504
|
+
if (!m_recObj)
|
|
505
|
+
return Error("CreateInstance WritableRecord", IID_IActiveTable);
|
|
506
|
+
m_recObj->AddRef();
|
|
485
507
|
}
|
|
486
|
-
|
|
508
|
+
try
|
|
487
509
|
{
|
|
488
|
-
|
|
510
|
+
m_recObj->m_rec = &m_at->getWritableRecord();
|
|
489
511
|
IWritableRecord* wrec;
|
|
490
512
|
m_recObj->QueryInterface(IID_IWritableRecord, (void**)&wrec);
|
|
491
513
|
_ASSERTE(wrec);
|
|
492
514
|
*retVal = wrec;
|
|
515
|
+
return S_OK;
|
|
516
|
+
}
|
|
517
|
+
catch (bzs::rtl::exception& e)
|
|
518
|
+
{
|
|
519
|
+
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
493
520
|
}
|
|
494
|
-
|
|
495
|
-
return S_OK;
|
|
496
521
|
}
|
|
497
522
|
|
|
498
523
|
STDMETHODIMP CActiveTable::get_TableDef(ITableDef** Value)
|
|
499
524
|
{
|
|
500
|
-
|
|
501
|
-
CComObject<CTableDef>::CreateInstance(&piObj);
|
|
502
|
-
if (piObj)
|
|
525
|
+
try
|
|
503
526
|
{
|
|
527
|
+
CComObject<CTableDef>* piObj;
|
|
528
|
+
CComObject<CTableDef>::CreateInstance(&piObj);
|
|
529
|
+
if (!piObj)
|
|
530
|
+
return Error(_T("CreateInstance TableDef"), IID_IActiveTable);
|
|
504
531
|
|
|
505
532
|
piObj->m_tabledefPtr =
|
|
506
533
|
const_cast<tabledef**>(m_at->table()->tableDefPtr());
|
|
@@ -509,10 +536,12 @@ STDMETHODIMP CActiveTable::get_TableDef(ITableDef** Value)
|
|
|
509
536
|
piObj->QueryInterface(IID_ITableDef, (void**)&tbd);
|
|
510
537
|
_ASSERTE(tbd);
|
|
511
538
|
*Value = tbd;
|
|
539
|
+
return S_OK;
|
|
540
|
+
}
|
|
541
|
+
catch (bzs::rtl::exception& e)
|
|
542
|
+
{
|
|
543
|
+
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
512
544
|
}
|
|
513
|
-
else
|
|
514
|
-
*Value = 0;
|
|
515
|
-
return S_OK;
|
|
516
545
|
}
|
|
517
546
|
|
|
518
547
|
STDMETHODIMP CActiveTable::Table(ITable** retVal)
|
|
@@ -521,23 +550,40 @@ STDMETHODIMP CActiveTable::Table(ITable** retVal)
|
|
|
521
550
|
{
|
|
522
551
|
CComObject<CTableTd>* ptb;
|
|
523
552
|
CComObject<CTableTd>::CreateInstance(&ptb);
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
*retVal = itb;
|
|
533
|
-
}
|
|
534
|
-
else
|
|
535
|
-
*retVal = NULL;
|
|
553
|
+
if (!ptb)
|
|
554
|
+
return Error(_T("CreateInstance Table"), IID_IActiveTable);
|
|
555
|
+
ptb->m_tb = m_at->table();
|
|
556
|
+
ptb->m_tb->setOptionalData((void*)NULL);
|
|
557
|
+
ITable* itb;
|
|
558
|
+
ptb->QueryInterface(IID_ITable, (void**)&itb);
|
|
559
|
+
_ASSERTE(itb);
|
|
560
|
+
*retVal = itb;
|
|
536
561
|
return S_OK;
|
|
537
562
|
}
|
|
563
|
+
catch (bzs::rtl::exception& e)
|
|
564
|
+
{
|
|
565
|
+
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
566
|
+
}
|
|
567
|
+
}
|
|
538
568
|
|
|
569
|
+
STDMETHODIMP CActiveTable::ReadMore(IRecordset** retVal)
|
|
570
|
+
{
|
|
571
|
+
try
|
|
572
|
+
{
|
|
573
|
+
CComObject<CARecordset>* rsObj;
|
|
574
|
+
CComObject<CARecordset>::CreateInstance(&rsObj);
|
|
575
|
+
if (!rsObj)
|
|
576
|
+
return Error(_T("CreateInstance Recordset"), IID_IActiveTable);
|
|
577
|
+
IRecordset* rs;
|
|
578
|
+
rsObj->QueryInterface(IID_IRecordset, (void**)&rs);
|
|
579
|
+
_ASSERTE(rs);
|
|
580
|
+
*retVal = rs;
|
|
581
|
+
m_at->readMore(*rsObj->m_rs);
|
|
582
|
+
return S_OK;
|
|
583
|
+
}
|
|
539
584
|
catch (bzs::rtl::exception& e)
|
|
540
585
|
{
|
|
541
586
|
return Error((*bzs::rtl::getMsg(e)).c_str(), IID_IActiveTable);
|
|
542
587
|
}
|
|
543
588
|
}
|
|
589
|
+
|
|
@@ -81,8 +81,8 @@ public:
|
|
|
81
81
|
|
|
82
82
|
STDMETHOD(GetWritableRecord)(IWritableRecord** retVal);
|
|
83
83
|
STDMETHOD(get_TableDef)(ITableDef** Value);
|
|
84
|
-
|
|
85
84
|
STDMETHOD(Table)(ITable** retVal);
|
|
85
|
+
STDMETHOD(ReadMore)(IRecordset** retVal);
|
|
86
86
|
};
|
|
87
87
|
|
|
88
88
|
OBJECT_ENTRY_AUTO(__uuidof(ActiveTable), CActiveTable)
|
|
@@ -77,7 +77,8 @@ typedef
|
|
|
77
77
|
enum eFindType
|
|
78
78
|
{
|
|
79
79
|
findForword = 0,
|
|
80
|
-
findBackForword = 1
|
|
80
|
+
findBackForword = 1,
|
|
81
|
+
findContinue = 2
|
|
81
82
|
}eFindType;
|
|
82
83
|
|
|
83
84
|
|
|
@@ -192,7 +193,13 @@ enum eStatus
|
|
|
192
193
|
NET_BAD_SRB_FORMAT = 3021,
|
|
193
194
|
ERROR_TD_HOSTNAME_NOT_FOUND = 3103,
|
|
194
195
|
ERROR_TD_CONNECTION_FAILURE = 3106,
|
|
195
|
-
ERROR_TD_NOT_CONNECTED = 3110
|
|
196
|
+
ERROR_TD_NOT_CONNECTED = 3110,
|
|
197
|
+
ERROR_TD_NET_TIMEOUT = 3800,
|
|
198
|
+
ERROR_TD_NET_REMOTE_DISCONNECT= 3801,
|
|
199
|
+
ERROR_TD_NET_TOO_BIGDATA = 3802,
|
|
200
|
+
ERROR_TD_NET_OTHER = 3810,
|
|
201
|
+
ERROR_TD_C_CLIENT_UNKNOWN = 3811,
|
|
202
|
+
ERROR_TD_RECONNECTED = 3900
|
|
196
203
|
}eStatus;
|
|
197
204
|
|
|
198
205
|
typedef
|
|
@@ -350,7 +357,9 @@ enum eGroupFunc
|
|
|
350
357
|
fcount = 1,
|
|
351
358
|
favg = 2,
|
|
352
359
|
fmin = 3,
|
|
353
|
-
fmax = 4
|
|
360
|
+
fmax = 4,
|
|
361
|
+
ffirst = 5,
|
|
362
|
+
flast = 6
|
|
354
363
|
}eGroupFunc;
|
|
355
364
|
|
|
356
365
|
typedef
|
|
@@ -493,7 +502,10 @@ interface IDatabase : IDispatch
|
|
|
493
502
|
HRESULT _stdcall TrxIsolationServer([out, retval] eSrvIsorationType* Value);
|
|
494
503
|
[propget, id(0x000000F6)]
|
|
495
504
|
HRESULT _stdcall TrxLockWaitTimeoutServer([out, retval] int* Value);
|
|
496
|
-
|
|
505
|
+
[id(0x000000F7)]
|
|
506
|
+
HRESULT _stdcall DisconnectForReconnectTest([out, retval] VARIANT_BOOL* Value);
|
|
507
|
+
[id(0x000000F8)]
|
|
508
|
+
HRESULT _stdcall Reconnect([out, retval] VARIANT_BOOL* Value);
|
|
497
509
|
|
|
498
510
|
};
|
|
499
511
|
|
|
@@ -710,14 +722,6 @@ interface ITable : IDispatch
|
|
|
710
722
|
HRESULT _stdcall LogicalToString([out, retval] VARIANT_BOOL* Value);
|
|
711
723
|
[propput, id(0x000000F3)]
|
|
712
724
|
HRESULT _stdcall LogicalToString([in] VARIANT_BOOL Value);
|
|
713
|
-
[propget, id(0x000000F4)]
|
|
714
|
-
HRESULT _stdcall TrimPadChar([out, retval] VARIANT_BOOL* Value);
|
|
715
|
-
[propput, id(0x000000F4)]
|
|
716
|
-
HRESULT _stdcall TrimPadChar([in] VARIANT_BOOL Value);
|
|
717
|
-
[propget, id(0x000000F5)]
|
|
718
|
-
HRESULT _stdcall UsePadChar([out, retval] VARIANT_BOOL* Value);
|
|
719
|
-
[propput, id(0x000000F5)]
|
|
720
|
-
HRESULT _stdcall UsePadChar([in] VARIANT_BOOL Value);
|
|
721
725
|
[id(0x000000F6)]
|
|
722
726
|
HRESULT _stdcall MoveBookmarksId([in] long Value);
|
|
723
727
|
[propget, id(0x000000F7)]
|
|
@@ -736,6 +740,10 @@ interface ITable : IDispatch
|
|
|
736
740
|
HRESULT _stdcall Prepare([in] IQueryBase* Value, [in, defaultvalue(0)] VARIANT_BOOL ServerPrepare, [out, retval] IPreparedQuery** retVal);
|
|
737
741
|
[id(0x000000FF)]
|
|
738
742
|
HRESULT _stdcall SetPrepare([in] IPreparedQuery* Value);
|
|
743
|
+
[propget, id(0x000000E1)]
|
|
744
|
+
HRESULT _stdcall StatReasonOfFind([out, retval] short* Value);
|
|
745
|
+
[propget, id(0x000000E2)]
|
|
746
|
+
HRESULT _stdcall LastFindDirection([out, retval] short* Value);
|
|
739
747
|
|
|
740
748
|
};
|
|
741
749
|
[
|
|
@@ -897,9 +905,12 @@ interface IFieldDef : IDispatch
|
|
|
897
905
|
HRESULT _stdcall SetLenByCharnum([in] unsigned short Value);
|
|
898
906
|
[propget, id(0x00000015)]
|
|
899
907
|
HRESULT _stdcall Index([out, retval] short* Value);
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
908
|
+
[id(0x00000016)]
|
|
909
|
+
HRESULT _stdcall SetPadCharSettings([in] VARIANT_BOOL set, [in] VARIANT_BOOL trim);
|
|
910
|
+
[propget, id(0x00000017)]
|
|
911
|
+
HRESULT _stdcall UsePadChar([out, retval] VARIANT_BOOL* Value);
|
|
912
|
+
[propget, id(0x00000018)]
|
|
913
|
+
HRESULT _stdcall TrimPadChar([out, retval] VARIANT_BOOL* Value);
|
|
903
914
|
};
|
|
904
915
|
[
|
|
905
916
|
object,
|
|
@@ -1106,6 +1117,10 @@ interface IQueryBase : IDispatch
|
|
|
1106
1117
|
HRESULT _stdcall BookmarkAlso([in] VARIANT_BOOL Value, [out, retval] IQueryBase** retVal);
|
|
1107
1118
|
[id(0x000001B)]
|
|
1108
1119
|
HRESULT _stdcall IsBookmarkAlso([out, retval] VARIANT_BOOL* retVal);
|
|
1120
|
+
[id(0x000001C)]
|
|
1121
|
+
HRESULT _stdcall StopAtLimit([in] VARIANT_BOOL Value, [out, retval] IQueryBase** retVal);
|
|
1122
|
+
[id(0x000001D)]
|
|
1123
|
+
HRESULT _stdcall IsStopAtLimit([out, retval] VARIANT_BOOL* retVal);
|
|
1109
1124
|
|
|
1110
1125
|
|
|
1111
1126
|
};
|
|
@@ -1166,8 +1181,9 @@ interface IActiveTable : IDispatch
|
|
|
1166
1181
|
HRESULT _stdcall Prepare([in] IQueryBase* Value, [in, defaultvalue(0)] VARIANT_BOOL ServerPrepare, [out, retval] IPreparedQuery** retVal);
|
|
1167
1182
|
[id(0x000000D)]
|
|
1168
1183
|
HRESULT _stdcall Table([out, retval]ITable** retVal);
|
|
1169
|
-
|
|
1170
|
-
|
|
1184
|
+
[id(0x000000E)]
|
|
1185
|
+
HRESULT _stdcall ReadMore([out, retval] IRecordset** retVal);
|
|
1186
|
+
|
|
1171
1187
|
};
|
|
1172
1188
|
|
|
1173
1189
|
|
|
@@ -1230,6 +1246,10 @@ interface IRecordset : IDispatch
|
|
|
1230
1246
|
[id(0x0000014)]
|
|
1231
1247
|
HRESULT _stdcall ClearRecords();
|
|
1232
1248
|
|
|
1249
|
+
[id(0x0000015)]
|
|
1250
|
+
HRESULT _stdcall UnionRecordset([in] IRecordset* rs, [out, retval] IRecordset** retVal);
|
|
1251
|
+
|
|
1252
|
+
|
|
1233
1253
|
|
|
1234
1254
|
};
|
|
1235
1255
|
|
|
@@ -1296,7 +1316,7 @@ interface IGroupQuery : IDispatch
|
|
|
1296
1316
|
|
|
1297
1317
|
[id(0x0000002)]
|
|
1298
1318
|
HRESULT _stdcall AddFunction([in] eGroupFunc func
|
|
1299
|
-
, [in]
|
|
1319
|
+
, [in] VARIANT targetNames , [in, defaultvalue("")] BSTR resultName
|
|
1300
1320
|
, [in, defaultvalue("")]VARIANT q, [out, retval] IGroupQuery** retVal);
|
|
1301
1321
|
|
|
1302
1322
|
[id(0x0000004)]
|
data/transactd.gemspec
CHANGED
|
@@ -44,7 +44,7 @@ spec_build = Gem::Specification.new do |s|
|
|
|
44
44
|
raise 'Can not read versions from ' + verfile + ' (' + ver_str + ')' if ver_str.length == 0
|
|
45
45
|
s.version = ver_str
|
|
46
46
|
|
|
47
|
-
binary_file = File.join('bin', RUBY_VERSION.
|
|
47
|
+
binary_file = File.join('bin', RUBY_VERSION.sub(/(\d+\.\d+)\..*/, '\1'), 'transactd.so')
|
|
48
48
|
binarymode = File.exist?(binary_file)
|
|
49
49
|
|
|
50
50
|
if binarymode
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: transactd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- BizStation Corp.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-03-31 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: Transactd client for ruby gem
|
|
14
14
|
email: transactd@bizstation.jp
|
|
@@ -19,8 +19,8 @@ extra_rdoc_files: []
|
|
|
19
19
|
files:
|
|
20
20
|
- CMakeLists.txt
|
|
21
21
|
- build/tdclrb/bldgem/extconf.rb
|
|
22
|
-
- bin/common/
|
|
23
|
-
- bin/common/
|
|
22
|
+
- bin/common/tdclc_32_2_3.dll
|
|
23
|
+
- bin/common/tdclc_64_2_3.dll
|
|
24
24
|
- source/bzs/db/blobBuffer.h
|
|
25
25
|
- source/bzs/db/blobStructs.h
|
|
26
26
|
- source/bzs/db/engine/mysql/bookmark.h
|
|
@@ -301,6 +301,7 @@ files:
|
|
|
301
301
|
- build/swig/ruby/tdclrb_wrap.cpp
|
|
302
302
|
- build/swig/ruby/threadBlockRegionWrapper.h
|
|
303
303
|
- build/swig/ruby/without_gvl.swg
|
|
304
|
+
- build/tdclrb/BUILDNUMBER.txt
|
|
304
305
|
- build/tdclrb/CMakeLists.txt
|
|
305
306
|
- build/tdclrb/gem/detect.rb
|
|
306
307
|
- build/tdclrb/gem/helper.rb
|
|
@@ -314,6 +315,7 @@ files:
|
|
|
314
315
|
- build/tdclc/libtdclcm.map
|
|
315
316
|
- build/tdclc/tdclc.cbproj
|
|
316
317
|
- build/tdclc/tdclc.rc
|
|
318
|
+
- build/tdclcpp/BUILDNUMBER.txt
|
|
317
319
|
- build/tdclcpp/CMakeLists.txt
|
|
318
320
|
- build/tdclcpp/tdclcpp.rc
|
|
319
321
|
- build/tdclcpp/tdclcpp_bc.cbproj
|
|
@@ -326,6 +328,8 @@ files:
|
|
|
326
328
|
- ./README-JA
|
|
327
329
|
- ./README_ORMSRCGEN
|
|
328
330
|
- ./README_ORMSRCGEN-JA
|
|
331
|
+
- ./RELEASE_NOTE
|
|
332
|
+
- ./RELEASE_NOTE-JA
|
|
329
333
|
- ./transactd.gemspec
|
|
330
334
|
homepage: http://www.bizstation.jp/ja/transactd
|
|
331
335
|
licenses:
|
data/bin/common/tdclc_32_2_2.dll
DELETED
|
Binary file
|
data/bin/common/tdclc_64_2_2.dll
DELETED
|
Binary file
|