transactd 1.1.2 → 1.2.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/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
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
/*=================================================================
|
|
2
|
+
Copyright (C) 2014 BizStation Corp All rights reserved.
|
|
3
|
+
|
|
4
|
+
This program is free software; you can redistribute it and/or
|
|
5
|
+
modify it under the terms of the GNU General Public License
|
|
6
|
+
as published by the Free Software Foundation; either version 2
|
|
7
|
+
of the License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with this program; if not, write to the Free Software
|
|
16
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
|
+
02111-1307, USA.
|
|
18
|
+
=================================================================*/
|
|
19
|
+
#include "stdafx.h"
|
|
20
|
+
#include "QueryBase.h"
|
|
21
|
+
#include "Table.h"
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
STDMETHODIMP CQueryBase::Reset(void)
|
|
26
|
+
{
|
|
27
|
+
m_qb.reset();
|
|
28
|
+
return S_OK;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
STDMETHODIMP CQueryBase::ClearSeekKeyValues(void)
|
|
32
|
+
{
|
|
33
|
+
m_qb.clearSeekKeyValues();
|
|
34
|
+
return S_OK;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
STDMETHODIMP CQueryBase::ClearSelectFields(void)
|
|
38
|
+
{
|
|
39
|
+
m_qb.clearSelectFields();
|
|
40
|
+
return S_OK;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
STDMETHODIMP CQueryBase::Select(BSTR Value
|
|
44
|
+
,BSTR Value1, BSTR Value2, BSTR Value3, BSTR Value4, BSTR Value5
|
|
45
|
+
,BSTR Value6, BSTR Value7, BSTR Value8, BSTR Value9, BSTR Value10
|
|
46
|
+
,IQueryBase** retVal)
|
|
47
|
+
{
|
|
48
|
+
m_qb.addField(Value);
|
|
49
|
+
if (Value1 != L"")
|
|
50
|
+
m_qb.addField(Value1);
|
|
51
|
+
if (Value2 != L"")
|
|
52
|
+
m_qb.addField(Value2);
|
|
53
|
+
if (Value3 != L"")
|
|
54
|
+
m_qb.addField(Value3);
|
|
55
|
+
if (Value4 != L"")
|
|
56
|
+
m_qb.addField(Value4);
|
|
57
|
+
if (Value5 != L"")
|
|
58
|
+
m_qb.addField(Value5);
|
|
59
|
+
if (Value6 != L"")
|
|
60
|
+
m_qb.addField(Value6);
|
|
61
|
+
if (Value7 != L"")
|
|
62
|
+
m_qb.addField(Value7);
|
|
63
|
+
if (Value8 != L"")
|
|
64
|
+
m_qb.addField(Value8);
|
|
65
|
+
if (Value9 != L"")
|
|
66
|
+
m_qb.addField(Value9);
|
|
67
|
+
if (Value10 != L"")
|
|
68
|
+
m_qb.addField(Value10);
|
|
69
|
+
setResult(retVal);
|
|
70
|
+
return S_OK;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
STDMETHODIMP CQueryBase::Where(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal)
|
|
74
|
+
{
|
|
75
|
+
VariantChangeType( &Value, &Value, 0, VT_BSTR );
|
|
76
|
+
m_qb.addLogic(Name, Logic, Value.bstrVal);
|
|
77
|
+
setResult(retVal);
|
|
78
|
+
return S_OK;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
STDMETHODIMP CQueryBase::And(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal)
|
|
82
|
+
{
|
|
83
|
+
VariantChangeType( &Value, &Value, 0, VT_BSTR );
|
|
84
|
+
m_qb.addLogic(L"and", Name, Logic, Value.bstrVal);
|
|
85
|
+
setResult(retVal);
|
|
86
|
+
return S_OK;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
STDMETHODIMP CQueryBase::Or(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal)
|
|
90
|
+
{
|
|
91
|
+
VariantChangeType( &Value, &Value, 0, VT_BSTR );
|
|
92
|
+
m_qb.addLogic(L"or", Name, Logic, Value.bstrVal);
|
|
93
|
+
setResult(retVal);
|
|
94
|
+
return S_OK;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
STDMETHODIMP CQueryBase::AddInValue(VARIANT Value, VARIANT_BOOL Reset)
|
|
98
|
+
{
|
|
99
|
+
VariantChangeType( &Value, &Value, 0, VT_BSTR );
|
|
100
|
+
m_qb.addSeekKeyValue(Value.bstrVal, (Reset==-1));
|
|
101
|
+
return S_OK;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
STDMETHODIMP CQueryBase::In(VARIANT Value
|
|
105
|
+
,VARIANT Value1, VARIANT Value2, VARIANT Value3, VARIANT Value4, VARIANT Value5
|
|
106
|
+
,VARIANT Value6, VARIANT Value7, VARIANT Value8, VARIANT Value9, VARIANT Value10
|
|
107
|
+
, IQueryBase** retVal)
|
|
108
|
+
{
|
|
109
|
+
setResult(retVal);
|
|
110
|
+
VariantChangeType( &Value, &Value, 0, VT_BSTR );
|
|
111
|
+
m_qb.addSeekKeyValue(Value.bstrVal, false);
|
|
112
|
+
|
|
113
|
+
VariantChangeType( &Value1, &Value1, 0, VT_BSTR );
|
|
114
|
+
if (Value1.bstrVal == L"") return S_OK;
|
|
115
|
+
m_qb.addSeekKeyValue(Value1.bstrVal, false);
|
|
116
|
+
VariantChangeType( &Value2, &Value2, 0, VT_BSTR );
|
|
117
|
+
if (Value2.bstrVal == L"") return S_OK;
|
|
118
|
+
m_qb.addSeekKeyValue(Value2.bstrVal, false);
|
|
119
|
+
VariantChangeType( &Value3, &Value3, 0, VT_BSTR );
|
|
120
|
+
if (Value3.bstrVal == L"") return S_OK;
|
|
121
|
+
m_qb.addSeekKeyValue(Value3.bstrVal, false);
|
|
122
|
+
VariantChangeType( &Value4, &Value4, 0, VT_BSTR );
|
|
123
|
+
if (Value4.bstrVal == L"") return S_OK;
|
|
124
|
+
m_qb.addSeekKeyValue(Value4.bstrVal, false);
|
|
125
|
+
VariantChangeType( &Value5, &Value5, 0, VT_BSTR );
|
|
126
|
+
if (Value5.bstrVal == L"") return S_OK;
|
|
127
|
+
m_qb.addSeekKeyValue(Value5.bstrVal, false);
|
|
128
|
+
VariantChangeType( &Value6, &Value6, 0, VT_BSTR );
|
|
129
|
+
if (Value6.bstrVal == L"") return S_OK;
|
|
130
|
+
m_qb.addSeekKeyValue(Value6.bstrVal, false);
|
|
131
|
+
VariantChangeType( &Value7, &Value7, 0, VT_BSTR );
|
|
132
|
+
if (Value7.bstrVal == L"") return S_OK;
|
|
133
|
+
m_qb.addSeekKeyValue(Value7.bstrVal, false);
|
|
134
|
+
VariantChangeType( &Value8, &Value8, 0, VT_BSTR );
|
|
135
|
+
if (Value8.bstrVal == L"") return S_OK;
|
|
136
|
+
m_qb.addSeekKeyValue(Value8.bstrVal, false);
|
|
137
|
+
VariantChangeType( &Value9, &Value9, 0, VT_BSTR );
|
|
138
|
+
if (Value9.bstrVal == L"") return S_OK;
|
|
139
|
+
m_qb.addSeekKeyValue(Value9.bstrVal, false);
|
|
140
|
+
VariantChangeType( &Value10, &Value10, 0, VT_BSTR );
|
|
141
|
+
if (Value10.bstrVal == L"") return S_OK;
|
|
142
|
+
m_qb.addSeekKeyValue(Value10.bstrVal, false);
|
|
143
|
+
return S_OK;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
void CQueryBase::setResult(IQueryBase** retVal)
|
|
147
|
+
{
|
|
148
|
+
this->QueryInterface(IID_IQueryBase, (void**)retVal);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
STDMETHODIMP CQueryBase::QueryString(BSTR Value, IQueryBase** retVal)
|
|
152
|
+
{
|
|
153
|
+
m_qb.queryString(Value);
|
|
154
|
+
setResult(retVal);
|
|
155
|
+
return S_OK;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
STDMETHODIMP CQueryBase::Reject(long Value, IQueryBase** retVal)
|
|
159
|
+
{
|
|
160
|
+
m_qb.reject(Value);
|
|
161
|
+
setResult(retVal);
|
|
162
|
+
return S_OK;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
STDMETHODIMP CQueryBase::Limit(long Value, IQueryBase** retVal)
|
|
166
|
+
{
|
|
167
|
+
m_qb.limit(Value);
|
|
168
|
+
setResult(retVal);
|
|
169
|
+
return S_OK;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
STDMETHODIMP CQueryBase::Direction( eFindType FindType, IQueryBase** retVal)
|
|
173
|
+
{
|
|
174
|
+
m_qb.direction((bzs::db::protocol::tdap::client::table::eFindType)FindType);
|
|
175
|
+
setResult(retVal);
|
|
176
|
+
return S_OK;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
STDMETHODIMP CQueryBase::All(IQueryBase** retVal)
|
|
180
|
+
{
|
|
181
|
+
m_qb.all();
|
|
182
|
+
setResult(retVal);
|
|
183
|
+
return S_OK;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
STDMETHODIMP CQueryBase::ToString(BSTR* retVal)
|
|
187
|
+
{
|
|
188
|
+
|
|
189
|
+
CComBSTR ret;
|
|
190
|
+
ret = m_qb.toString();
|
|
191
|
+
*retVal = ret.Copy();
|
|
192
|
+
return S_OK;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
STDMETHODIMP CQueryBase::GetDirection(eFindType* retVal)
|
|
196
|
+
{
|
|
197
|
+
*retVal = (eFindType)m_qb.getDirection();
|
|
198
|
+
return S_OK;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
STDMETHODIMP CQueryBase::GetReject(long* retVal)
|
|
202
|
+
{
|
|
203
|
+
*retVal = m_qb.getReject();
|
|
204
|
+
return S_OK;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
STDMETHODIMP CQueryBase::GetLimit(long* retVal)
|
|
208
|
+
{
|
|
209
|
+
*retVal = m_qb.getLimit();
|
|
210
|
+
return S_OK;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
STDMETHODIMP CQueryBase::IsAll(VARIANT_BOOL* retVal)
|
|
214
|
+
{
|
|
215
|
+
*retVal = m_qb.isAll();
|
|
216
|
+
return S_OK;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
STDMETHODIMP CQueryBase::Optimize(VARIANT_BOOL v, IQueryBase** retVal)
|
|
221
|
+
{
|
|
222
|
+
m_qb.optimize(v==-1);
|
|
223
|
+
setResult(retVal);
|
|
224
|
+
return S_OK;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
STDMETHODIMP CQueryBase::IsOptimize(VARIANT_BOOL* retVal)
|
|
228
|
+
{
|
|
229
|
+
*retVal = m_qb.isOptimize();
|
|
230
|
+
return S_OK;
|
|
231
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
#pragma once
|
|
2
|
+
/*=================================================================
|
|
3
|
+
Copyright (C) 2014 BizStation Corp All rights reserved.
|
|
4
|
+
|
|
5
|
+
This program is free software; you can redistribute it and/or
|
|
6
|
+
modify it under the terms of the GNU General Public License
|
|
7
|
+
as published by the Free Software Foundation; either version 2
|
|
8
|
+
of the License, or (at your option) any later version.
|
|
9
|
+
|
|
10
|
+
This program is distributed in the hope that it will be useful,
|
|
11
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
GNU General Public License for more details.
|
|
14
|
+
|
|
15
|
+
You should have received a copy of the GNU General Public License
|
|
16
|
+
along with this program; if not, write to the Free Software
|
|
17
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
18
|
+
02111-1307, USA.
|
|
19
|
+
=================================================================*/
|
|
20
|
+
#include "resource.h"
|
|
21
|
+
|
|
22
|
+
#include "tdclatl_i.h"
|
|
23
|
+
#include <bzs/db/protocol/tdap/client/table.h>
|
|
24
|
+
|
|
25
|
+
using namespace ATL;
|
|
26
|
+
|
|
27
|
+
class ATL_NO_VTABLE CQueryBase :
|
|
28
|
+
public CComObjectRootEx<CComSingleThreadModel>,
|
|
29
|
+
public CComCoClass<CQueryBase, &CLSID_QueryBase>,
|
|
30
|
+
public IDispatchImpl<IQueryBase, &IID_IQueryBase, &LIBID_transactd, /*wMajor =*/ 1, /*wMinor =*/ 0>
|
|
31
|
+
{
|
|
32
|
+
bzs::db::protocol::tdap::client::queryBase m_qb;
|
|
33
|
+
void setResult(IQueryBase** retVal);
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
CQueryBase()
|
|
37
|
+
{
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
DECLARE_REGISTRY_RESOURCEID(IDR_QUERYBASE)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
BEGIN_COM_MAP(CQueryBase)
|
|
44
|
+
COM_INTERFACE_ENTRY(IQueryBase)
|
|
45
|
+
COM_INTERFACE_ENTRY(IDispatch)
|
|
46
|
+
END_COM_MAP()
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
DECLARE_PROTECT_FINAL_CONSTRUCT()
|
|
51
|
+
|
|
52
|
+
HRESULT FinalConstruct()
|
|
53
|
+
{
|
|
54
|
+
return S_OK;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
void FinalRelease()
|
|
58
|
+
{
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
public:
|
|
62
|
+
bzs::db::protocol::tdap::client::queryBase& query(){return m_qb;};
|
|
63
|
+
STDMETHOD(Reset)(void);
|
|
64
|
+
STDMETHOD(ClearSeekKeyValues)(void);
|
|
65
|
+
STDMETHOD(ClearSelectFields)(void);
|
|
66
|
+
STDMETHOD(Select)(BSTR Value
|
|
67
|
+
,BSTR Value1, BSTR Value2, BSTR Value3, BSTR Value4, BSTR Value5
|
|
68
|
+
,BSTR Value6, BSTR Value7, BSTR Value8, BSTR Value9, BSTR Value10
|
|
69
|
+
, IQueryBase** retVal);
|
|
70
|
+
|
|
71
|
+
STDMETHOD(Where)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
|
|
72
|
+
STDMETHOD(And)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
|
|
73
|
+
STDMETHOD(Or)(BSTR Name, BSTR Logic, VARIANT Value, IQueryBase** retVal);
|
|
74
|
+
STDMETHOD(AddInValue)(VARIANT Value, VARIANT_BOOL Reset);
|
|
75
|
+
STDMETHOD(In)(VARIANT Value
|
|
76
|
+
,VARIANT Value1, VARIANT Value2, VARIANT Value3, VARIANT Value4, VARIANT Value5
|
|
77
|
+
,VARIANT Value6, VARIANT Value7, VARIANT Value8, VARIANT Value9, VARIANT Value10
|
|
78
|
+
, IQueryBase** retVal);
|
|
79
|
+
STDMETHOD(QueryString)(BSTR Value, IQueryBase** retVal);
|
|
80
|
+
STDMETHOD(Reject)(long Value, IQueryBase** retVal);
|
|
81
|
+
STDMETHOD(Limit)(long Value, IQueryBase** retVal);
|
|
82
|
+
STDMETHOD(Direction)( eFindType FindType, IQueryBase** retVal);
|
|
83
|
+
STDMETHOD(All)(IQueryBase** retVal);
|
|
84
|
+
STDMETHOD(ToString)(BSTR* retVal);
|
|
85
|
+
STDMETHOD(GetDirection)(eFindType* retVal);
|
|
86
|
+
STDMETHOD(GetReject)(long* retVal);
|
|
87
|
+
STDMETHOD(GetLimit)(long* retVal);
|
|
88
|
+
STDMETHOD(IsAll)(VARIANT_BOOL* retVal);
|
|
89
|
+
STDMETHOD(Optimize)(VARIANT_BOOL Value, IQueryBase** retVal);
|
|
90
|
+
STDMETHOD(IsOptimize)(VARIANT_BOOL* retVal);
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
OBJECT_ENTRY_AUTO(__uuidof(QueryBase), CQueryBase)
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
#include "DbDef.h"
|
|
23
23
|
#include "TableDef.h"
|
|
24
24
|
#include "Field.h"
|
|
25
|
+
#include "QueryBase.h"
|
|
25
26
|
|
|
26
27
|
using namespace bzs::db::protocol::tdap;
|
|
27
28
|
|
|
@@ -598,3 +599,26 @@ STDMETHODIMP CTableTd::SmartUpdate(void)
|
|
|
598
599
|
m_tb->smartUpdate();
|
|
599
600
|
return S_OK;
|
|
600
601
|
}
|
|
602
|
+
|
|
603
|
+
STDMETHODIMP CTableTd::KeyValueDescription(BSTR* Value)
|
|
604
|
+
{
|
|
605
|
+
wchar_t tmp[8192];
|
|
606
|
+
m_tb->keyValueDescription(tmp, 8192);
|
|
607
|
+
*Value = tmp;
|
|
608
|
+
return S_OK;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
STDMETHODIMP CTableTd::SetQuery(IQueryBase* Value)
|
|
612
|
+
{
|
|
613
|
+
if (Value)
|
|
614
|
+
{
|
|
615
|
+
CQueryBase* p = dynamic_cast<CQueryBase*>(Value);
|
|
616
|
+
if (p)
|
|
617
|
+
{
|
|
618
|
+
m_tb->setQuery(&p->query());
|
|
619
|
+
return S_OK;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
return S_FALSE;
|
|
623
|
+
|
|
624
|
+
}
|
|
@@ -109,7 +109,6 @@ public:
|
|
|
109
109
|
STDMETHOD(get_FilterRejectCount)(long* Value);
|
|
110
110
|
STDMETHOD(put_FilterGetCount)(long Value);
|
|
111
111
|
STDMETHOD(put_FilterRejectCount)(long Value);
|
|
112
|
-
|
|
113
112
|
STDMETHOD(Field)(VARIANT Index, IField** Value);
|
|
114
113
|
STDMETHOD(get_IsOpen)(VARIANT_BOOL* Value);
|
|
115
114
|
STDMETHOD(get_CanDelete)(VARIANT_BOOL* Value);
|
|
@@ -140,5 +139,7 @@ public:
|
|
|
140
139
|
STDMETHOD(get_MyDateTimeValueByBtrv)(VARIANT_BOOL* Value);
|
|
141
140
|
STDMETHOD(get_ValiableFormatType)(VARIANT_BOOL* Value);
|
|
142
141
|
STDMETHOD(SmartUpdate)(void);
|
|
142
|
+
STDMETHOD(KeyValueDescription)(BSTR* Value);
|
|
143
|
+
STDMETHOD(SetQuery)(IQueryBase* Value);
|
|
143
144
|
|
|
144
145
|
};
|
|
Binary file
|
|
@@ -31,7 +31,7 @@ interface IFlags;
|
|
|
31
31
|
interface IKeySegment;
|
|
32
32
|
interface IField;
|
|
33
33
|
interface ITdVersion;
|
|
34
|
-
|
|
34
|
+
interface IQueryBase;
|
|
35
35
|
|
|
36
36
|
typedef
|
|
37
37
|
[
|
|
@@ -636,7 +636,10 @@ interface ITable : IDispatch
|
|
|
636
636
|
HRESULT _stdcall ValiableFormatType([out, retval] VARIANT_BOOL* Value);
|
|
637
637
|
[id(0x000000F9)]
|
|
638
638
|
HRESULT _stdcall SmartUpdate(void);
|
|
639
|
-
|
|
639
|
+
[id(0x000000FA)]
|
|
640
|
+
HRESULT _stdcall KeyValueDescription([out, retval] BSTR* Value);
|
|
641
|
+
[id(0x000000FB)]
|
|
642
|
+
HRESULT _stdcall SetQuery([in] IQueryBase* Value);
|
|
640
643
|
|
|
641
644
|
};
|
|
642
645
|
[
|
|
@@ -919,6 +922,82 @@ interface ITdVersion : IDispatch
|
|
|
919
922
|
|
|
920
923
|
};
|
|
921
924
|
|
|
925
|
+
[
|
|
926
|
+
object,
|
|
927
|
+
uuid(828B3682-4B3F-465C-8168-D36BF62ECA8E),
|
|
928
|
+
dual,
|
|
929
|
+
nonextensible,
|
|
930
|
+
pointer_default(unique)
|
|
931
|
+
]
|
|
932
|
+
|
|
933
|
+
interface IQueryBase : IDispatch
|
|
934
|
+
{
|
|
935
|
+
[id(0x0000001)]
|
|
936
|
+
HRESULT _stdcall Reset(void);
|
|
937
|
+
[id(0x0000002)]
|
|
938
|
+
HRESULT _stdcall ClearSeekKeyValues(void);
|
|
939
|
+
[id(0x0000003)]
|
|
940
|
+
HRESULT _stdcall ClearSelectFields(void);
|
|
941
|
+
[id(0x0000004)]
|
|
942
|
+
HRESULT _stdcall Select([in] BSTR Value
|
|
943
|
+
,[in, defaultvalue("")] BSTR Value1
|
|
944
|
+
,[in, defaultvalue("")] BSTR Value2
|
|
945
|
+
,[in, defaultvalue("")] BSTR Value3
|
|
946
|
+
,[in, defaultvalue("")] BSTR Value4
|
|
947
|
+
,[in, defaultvalue("")] BSTR Value5
|
|
948
|
+
,[in, defaultvalue("")] BSTR Value6
|
|
949
|
+
,[in, defaultvalue("")] BSTR Value7
|
|
950
|
+
,[in, defaultvalue("")] BSTR Value8
|
|
951
|
+
,[in, defaultvalue("")] BSTR Value9
|
|
952
|
+
,[in, defaultvalue("")] BSTR Value10
|
|
953
|
+
, [out, retval] IQueryBase** retVal);
|
|
954
|
+
[id(0x0000005)]
|
|
955
|
+
HRESULT _stdcall Where([in] BSTR Name, [in] BSTR Logic, [in] VARIANT Value, [out, retval] IQueryBase** retVal);
|
|
956
|
+
[id(0x0000006)]
|
|
957
|
+
HRESULT _stdcall And([in] BSTR Name, [in] BSTR Logic, [in] VARIANT Value, [out, retval] IQueryBase** retVal);
|
|
958
|
+
[id(0x0000007)]
|
|
959
|
+
HRESULT _stdcall Or([in] BSTR Name, [in] BSTR Logic, [in] VARIANT Value, [out, retval] IQueryBase** retVal);
|
|
960
|
+
[id(0x0000008)]
|
|
961
|
+
HRESULT _stdcall AddInValue([in] VARIANT Value, [in] VARIANT_BOOL Reset);
|
|
962
|
+
[id(0x0000009)]
|
|
963
|
+
HRESULT _stdcall In([in] VARIANT Value
|
|
964
|
+
,[in, defaultvalue("")] VARIANT Value1
|
|
965
|
+
,[in, defaultvalue("")] VARIANT Value2
|
|
966
|
+
,[in, defaultvalue("")] VARIANT Value3
|
|
967
|
+
,[in, defaultvalue("")] VARIANT Value4
|
|
968
|
+
,[in, defaultvalue("")] VARIANT Value5
|
|
969
|
+
,[in, defaultvalue("")] VARIANT Value6
|
|
970
|
+
,[in, defaultvalue("")] VARIANT Value7
|
|
971
|
+
,[in, defaultvalue("")] VARIANT Value8
|
|
972
|
+
,[in, defaultvalue("")] VARIANT Value9
|
|
973
|
+
,[in, defaultvalue("")] VARIANT Value10
|
|
974
|
+
, [out, retval] IQueryBase** retVal);
|
|
975
|
+
[id(0x000000A)]
|
|
976
|
+
HRESULT _stdcall QueryString([in] BSTR Value, [out, retval] IQueryBase** retVal);
|
|
977
|
+
[id(0x000000B)]
|
|
978
|
+
HRESULT _stdcall Reject([in, defaultvalue(1)] long Value, [out, retval] IQueryBase** retVal);
|
|
979
|
+
[id(0x000000C)]
|
|
980
|
+
HRESULT _stdcall Limit([in, defaultvalue(0)] long Value, [out, retval] IQueryBase** retVal);
|
|
981
|
+
[id(0x000000D)]
|
|
982
|
+
HRESULT _stdcall Direction([in] eFindType FindType, [out, retval] IQueryBase** retVal);
|
|
983
|
+
[id(0x000000E)]
|
|
984
|
+
HRESULT _stdcall All([out, retval] IQueryBase** retVal);
|
|
985
|
+
[id(0x000000F)]
|
|
986
|
+
HRESULT _stdcall ToString([out, retval] BSTR* retVal);
|
|
987
|
+
[id(0x0000010)]
|
|
988
|
+
HRESULT _stdcall GetDirection([out, retval] eFindType* retVal);
|
|
989
|
+
[id(0x0000011)]
|
|
990
|
+
HRESULT _stdcall GetReject([out, retval] long* retVal);
|
|
991
|
+
[id(0x0000012)]
|
|
992
|
+
HRESULT _stdcall GetLimit([out, retval] long* retVal);
|
|
993
|
+
[id(0x0000013)]
|
|
994
|
+
HRESULT _stdcall IsAll([out, retval] VARIANT_BOOL* retVal);
|
|
995
|
+
[id(0x0000014)]
|
|
996
|
+
HRESULT _stdcall Optimize([in] VARIANT_BOOL Value, [out, retval] IQueryBase** retVal);
|
|
997
|
+
[id(0x0000015)]
|
|
998
|
+
HRESULT _stdcall IsOptimize([out, retval] VARIANT_BOOL* retVal);
|
|
999
|
+
|
|
1000
|
+
};
|
|
922
1001
|
[
|
|
923
1002
|
uuid(3B712514-E2EF-4040-8A3C-BCACB839EB3E),
|
|
924
1003
|
version(1.0),
|
|
@@ -1030,6 +1109,13 @@ library transactd
|
|
|
1030
1109
|
|
|
1031
1110
|
|
|
1032
1111
|
|
|
1112
|
+
[
|
|
1113
|
+
uuid(CA076B05-541B-48EF-AC55-33323FB052F3)
|
|
1114
|
+
]
|
|
1115
|
+
coclass QueryBase
|
|
1116
|
+
{
|
|
1117
|
+
[default] interface IQueryBase;
|
|
1118
|
+
};
|
|
1033
1119
|
};
|
|
1034
1120
|
|
|
1035
1121
|
import "shobjidl.idl";
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: transactd
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- BizStation Corp.
|
|
@@ -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_1_2.dll
|
|
23
|
+
- bin/common/tdclc_64_1_2.dll
|
|
24
24
|
- source/bzs/db/blobBuffer.h
|
|
25
25
|
- source/bzs/db/blobStructs.h
|
|
26
26
|
- source/bzs/db/engine/mysql/bookmark.h
|
|
@@ -80,6 +80,7 @@ files:
|
|
|
80
80
|
- source/bzs/db/protocol/tdap/client/trdboostapi.h
|
|
81
81
|
- source/bzs/db/protocol/tdap/client/trdboostapiInternal.h
|
|
82
82
|
- source/bzs/db/protocol/tdap/client/trdclcppautolink.h
|
|
83
|
+
- source/bzs/db/protocol/tdap/client/trdormapi.h
|
|
83
84
|
- source/bzs/db/protocol/tdap/client/trnsctcl.def
|
|
84
85
|
- source/bzs/db/protocol/tdap/myDateTime.cpp
|
|
85
86
|
- source/bzs/db/protocol/tdap/mysql/characterset.cpp
|
|
@@ -127,6 +128,7 @@ files:
|
|
|
127
128
|
- source/bzs/example/updateRecords_c.cpp
|
|
128
129
|
- source/bzs/example/update_with_transaction.cpp
|
|
129
130
|
- source/bzs/example/update_with_transaction_c.cpp
|
|
131
|
+
- source/bzs/example/useORM.cpp
|
|
130
132
|
- source/bzs/netsvc/client/tcpClient.cpp
|
|
131
133
|
- source/bzs/netsvc/client/tcpClient.h
|
|
132
134
|
- source/bzs/netsvc/server/IAppModule.h
|
|
@@ -151,13 +153,19 @@ files:
|
|
|
151
153
|
- source/bzs/rtl/strtrim.cpp
|
|
152
154
|
- source/bzs/rtl/strtrim.h
|
|
153
155
|
- source/bzs/test/tdclatl/bench_tdclatl.js
|
|
156
|
+
- source/bzs/test/tdclphp/transactd_blob_Test.php
|
|
157
|
+
- source/bzs/test/tdclphp/transactd_datetime_Test.php
|
|
158
|
+
- source/bzs/test/tdclphp/transactd_kanjischema_Test.php
|
|
159
|
+
- source/bzs/test/tdclphp/transactd_Test.php
|
|
154
160
|
- source/bzs/test/tdclrb/bench_tdclcpp.rb
|
|
155
161
|
- source/bzs/test/tdclrb/prepare.rb
|
|
162
|
+
- source/bzs/test/tdclrb/transactd_blob_spec.rb
|
|
156
163
|
- source/bzs/test/tdclrb/transactd_datetime_spec.rb
|
|
157
164
|
- source/bzs/test/tdclrb/transactd_kanjischema_spec.rb
|
|
158
165
|
- source/bzs/test/tdclrb/transactd_spec.rb
|
|
159
166
|
- source/bzs/test/transactdBench/transactdBench.cpp
|
|
160
167
|
- source/bzs/test/transactdBench/transactdBench2.cpp
|
|
168
|
+
- source/bzs/test/trdclengn/test_blob.cpp
|
|
161
169
|
- source/bzs/test/trdclengn/test_trdclengn.cpp
|
|
162
170
|
- source/global/tdclatl/Database.cpp
|
|
163
171
|
- source/global/tdclatl/Database.h
|
|
@@ -175,6 +183,8 @@ files:
|
|
|
175
183
|
- source/global/tdclatl/KeyDef.h
|
|
176
184
|
- source/global/tdclatl/KeySegment.cpp
|
|
177
185
|
- source/global/tdclatl/keySegment.h
|
|
186
|
+
- source/global/tdclatl/QueryBase.cpp
|
|
187
|
+
- source/global/tdclatl/QueryBase.h
|
|
178
188
|
- source/global/tdclatl/resource.h
|
|
179
189
|
- source/global/tdclatl/stdafx.cpp
|
|
180
190
|
- source/global/tdclatl/stdafx.h
|
|
@@ -205,6 +215,9 @@ files:
|
|
|
205
215
|
- build/common/transactd_cl_output.cmake
|
|
206
216
|
- build/common/transactd_common.cmake
|
|
207
217
|
- build/common/transactd_required.cmake
|
|
218
|
+
- build/swig/php/generate.cmake.in
|
|
219
|
+
- build/swig/php/generate.cmd.in
|
|
220
|
+
- build/swig/php/php.swg
|
|
208
221
|
- build/swig/ruby/generate.cmake.in
|
|
209
222
|
- build/swig/ruby/generate.cmd.in
|
|
210
223
|
- build/swig/ruby/ruby.swg
|
data/bin/common/tdclc_32_1_1.dll
DELETED
|
Binary file
|
data/bin/common/tdclc_64_1_1.dll
DELETED
|
Binary file
|