transactd 3.6.1 → 3.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/common/{tdclc_32_3_6.dll → tdclc_32_3_7.dll} +0 -0
- data/bin/common/{tdclc_64_3_6.dll → tdclc_64_3_7.dll} +0 -0
- data/build/swig/ruby/tdclrb_wrap.cpp +125 -17
- data/build/tdclc/tdclc.cbproj +1 -1
- data/build/tdclc/tdclc.rc +4 -4
- data/build/tdclcpp/tdclcpp.rc +4 -4
- data/build/tdclcpp/tdclcpp_bc.cbproj +1 -1
- data/build/tdclrb/tdclrb.rc +4 -4
- data/source/bzs/db/protocol/tdap/client/field.cpp +24 -0
- data/source/bzs/db/protocol/tdap/client/field.h +2 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +243 -59
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +8 -0
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +19 -6
- data/source/bzs/db/protocol/tdap/client/memRecord.h +10 -1
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +17 -0
- data/source/bzs/db/protocol/tdap/client/recordset.h +3 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +131 -30
- data/source/bzs/db/protocol/tdap/client/table.cpp +11 -2
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +1 -0
- data/source/bzs/db/protocol/tdap/tdapcapi.h +5 -5
- data/source/bzs/test/tdclatl/test_v3.js +22 -0
- data/source/bzs/test/tdclphp/transactd_v3_Test.php +35 -0
- data/source/bzs/test/tdclrb/transactd_v3_spec.rb +40 -0
- data/source/bzs/test/trdclengn/testField.h +320 -0
- data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +9 -0
- data/source/global/tdclatl/Recordset.cpp +44 -2
- data/source/global/tdclatl/Recordset.h +6 -2
- data/source/global/tdclatl/tdclatl.idl +5 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0c0edf9273f89a9100b3fbc8223ebd9dba7554ad
|
4
|
+
data.tar.gz: 6a3193ada9a34d44721df40a26e6de4840a4115a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7a69ed53774639ed5354020ab48475980dfab2083562ffdda389591e2317321dc6c01104a960cc42c0e7dd32be66f292667ea9a198c0a56da36d6d93250c00c
|
7
|
+
data.tar.gz: a09238a3672242d9faafd6a5034c9d8f581ad8ca08c0824e345e88392fcd1490e6eeb1382f806a94ec156ccd2f61331dedb9aac96542ca0d0f72edb13a7edc17
|
Binary file
|
Binary file
|
@@ -22948,6 +22948,92 @@ fail:
|
|
22948
22948
|
}
|
22949
22949
|
|
22950
22950
|
|
22951
|
+
SWIGINTERN VALUE
|
22952
|
+
_wrap_Recordset_join(int argc, VALUE *argv, VALUE self) {
|
22953
|
+
tdap::client::recordset *arg1 = 0 ;
|
22954
|
+
tdap::client::recordset *arg2 = 0 ;
|
22955
|
+
tdap::client::recordsetQuery *arg3 = 0 ;
|
22956
|
+
void *argp2 = 0 ;
|
22957
|
+
void *argp3 = 0 ;
|
22958
|
+
int res2 = 0 ;
|
22959
|
+
int res3 = 0 ;
|
22960
|
+
|
22961
|
+
if (!check_param_count(argc, 2, 2)) return Qnil;
|
22962
|
+
arg1 = selfPtr(self, arg1);
|
22963
|
+
|
22964
|
+
res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_bzs__recordset, 0 );
|
22965
|
+
if (!SWIG_IsOK(res2)) {
|
22966
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "tdap::client::recordset &","join", 2, argv[0] ));
|
22967
|
+
}
|
22968
|
+
if (!argp2) {
|
22969
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "tdap::client::recordset &","join", 1, argv[0]));
|
22970
|
+
}
|
22971
|
+
|
22972
|
+
res3 = SWIG_ConvertPtr(argv[1], &argp3, SWIGTYPE_p_bzs__recordsetQuery, 0 );
|
22973
|
+
if (!SWIG_IsOK(res3)) {
|
22974
|
+
SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "tdap::client::recordsetQuery &","join", 3, argv[1] ));
|
22975
|
+
}
|
22976
|
+
if (!argp3) {
|
22977
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "tdap::client::recordsetQuery &","join", 2, argv[1]));
|
22978
|
+
}
|
22979
|
+
|
22980
|
+
arg2 = reinterpret_cast< tdap::client::recordset * >(argp2);
|
22981
|
+
arg3 = reinterpret_cast< tdap::client::recordsetQuery * >(argp3);
|
22982
|
+
{
|
22983
|
+
try {
|
22984
|
+
arg1->join(*arg2, *arg3);
|
22985
|
+
}
|
22986
|
+
CATCH_BZS_AND_STD()
|
22987
|
+
}
|
22988
|
+
return self;
|
22989
|
+
fail:
|
22990
|
+
return Qnil;
|
22991
|
+
}
|
22992
|
+
|
22993
|
+
|
22994
|
+
SWIGINTERN VALUE
|
22995
|
+
_wrap_Recordset_outerJoin(int argc, VALUE *argv, VALUE self) {
|
22996
|
+
tdap::client::recordset *arg1 = 0 ;
|
22997
|
+
tdap::client::recordset *arg2 = 0 ;
|
22998
|
+
tdap::client::recordsetQuery *arg3 = 0 ;
|
22999
|
+
void *argp2 = 0 ;
|
23000
|
+
void *argp3 = 0 ;
|
23001
|
+
int res2 = 0 ;
|
23002
|
+
int res3 = 0 ;
|
23003
|
+
|
23004
|
+
if (!check_param_count(argc, 2, 2)) return Qnil;
|
23005
|
+
arg1 = selfPtr(self, arg1);
|
23006
|
+
|
23007
|
+
res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_bzs__recordset, 0 );
|
23008
|
+
if (!SWIG_IsOK(res2)) {
|
23009
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "tdap::client::recordset &","outerJoin", 2, argv[0] ));
|
23010
|
+
}
|
23011
|
+
if (!argp2) {
|
23012
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "tdap::client::recordset &","outerJoin", 1, argv[0]));
|
23013
|
+
}
|
23014
|
+
|
23015
|
+
res3 = SWIG_ConvertPtr(argv[1], &argp3, SWIGTYPE_p_bzs__recordsetQuery, 0 );
|
23016
|
+
if (!SWIG_IsOK(res3)) {
|
23017
|
+
SWIG_exception_fail(SWIG_ArgError(res3), Ruby_Format_TypeError( "", "tdap::client::recordsetQuery &","outerJoin", 3, argv[1] ));
|
23018
|
+
}
|
23019
|
+
if (!argp3) {
|
23020
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "tdap::client::recordsetQuery &","outerJoin", 2, argv[1]));
|
23021
|
+
}
|
23022
|
+
|
23023
|
+
arg2 = reinterpret_cast< tdap::client::recordset * >(argp2);
|
23024
|
+
arg3 = reinterpret_cast< tdap::client::recordsetQuery * >(argp3);
|
23025
|
+
{
|
23026
|
+
try {
|
23027
|
+
arg1->outerJoin(*arg2, *arg3);
|
23028
|
+
}
|
23029
|
+
CATCH_BZS_AND_STD()
|
23030
|
+
}
|
23031
|
+
return self;
|
23032
|
+
fail:
|
23033
|
+
return Qnil;
|
23034
|
+
}
|
23035
|
+
|
23036
|
+
|
22951
23037
|
SWIGINTERN VALUE
|
22952
23038
|
_wrap_Recordset_matchBy(int argc, VALUE *argv, VALUE self) {
|
22953
23039
|
tdap::client::recordset *arg1 = (tdap::client::recordset *) 0 ;
|
@@ -23075,7 +23161,9 @@ fail:
|
|
23075
23161
|
SWIGINTERN VALUE
|
23076
23162
|
_wrap_Recordset_appendField(int argc, VALUE *argv, VALUE self) {
|
23077
23163
|
tdap::client::recordset *arg1 = (tdap::client::recordset *) 0 ;
|
23164
|
+
tdap::fielddef *fd = 0 ;
|
23078
23165
|
_TCHAR *arg2 = (_TCHAR *) 0 ;
|
23166
|
+
void *argp2 ;
|
23079
23167
|
int arg3 ;
|
23080
23168
|
short arg4 ;
|
23081
23169
|
int res2 ;
|
@@ -23086,27 +23174,44 @@ _wrap_Recordset_appendField(int argc, VALUE *argv, VALUE self) {
|
|
23086
23174
|
short val4 ;
|
23087
23175
|
int ecode4 = 0 ;
|
23088
23176
|
|
23089
|
-
if (!check_param_count(argc,
|
23090
|
-
|
23177
|
+
if (!check_param_count(argc, 1, 3)) return Qnil;
|
23091
23178
|
arg1 = selfPtr(self, arg1);
|
23092
|
-
|
23093
|
-
if (
|
23094
|
-
|
23179
|
+
|
23180
|
+
if (TYPE(argv[0]) == T_STRING)
|
23181
|
+
{
|
23182
|
+
res2 = SWIG_AsCharPtrAndSize(argv[0], &buf2, NULL, &alloc2);
|
23183
|
+
if (!SWIG_IsOK(res2)) {
|
23184
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "_TCHAR const *","appendField", 2, argv[0] ));
|
23185
|
+
}
|
23186
|
+
arg2 = reinterpret_cast< _TCHAR * >(buf2);
|
23187
|
+
ecode3 = SWIG_AsVal_int(argv[1], &val3);
|
23188
|
+
if (!SWIG_IsOK(ecode3)) {
|
23189
|
+
SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","appendField", 3, argv[1] ));
|
23190
|
+
}
|
23191
|
+
arg3 = static_cast< int >(val3);
|
23192
|
+
ecode4 = SWIG_AsVal_short(argv[2], &val4);
|
23193
|
+
if (!SWIG_IsOK(ecode4)) {
|
23194
|
+
SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "short","appendField", 4, argv[2] ));
|
23195
|
+
}
|
23196
|
+
arg4 = static_cast< short >(val4);
|
23197
|
+
}
|
23198
|
+
else
|
23199
|
+
{
|
23200
|
+
res2 = SWIG_ConvertPtr(argv[0], &argp2, SWIGTYPE_p_bzs__fielddef, 0 );
|
23201
|
+
if (!SWIG_IsOK(res2)) {
|
23202
|
+
SWIG_exception_fail(SWIG_ArgError(res2), Ruby_Format_TypeError( "", "tdap::fielddef*","appendField", 2, argv[0] ));
|
23203
|
+
}
|
23204
|
+
if (!argp2) {
|
23205
|
+
SWIG_exception_fail(SWIG_ValueError, Ruby_Format_TypeError("invalid null reference ", "tdap::fielddef*","appendField", 2, argv[0]));
|
23206
|
+
}
|
23207
|
+
fd = reinterpret_cast< tdap::fielddef * >(argp2);
|
23095
23208
|
}
|
23096
|
-
arg2 = reinterpret_cast< _TCHAR * >(buf2);
|
23097
|
-
ecode3 = SWIG_AsVal_int(argv[1], &val3);
|
23098
|
-
if (!SWIG_IsOK(ecode3)) {
|
23099
|
-
SWIG_exception_fail(SWIG_ArgError(ecode3), Ruby_Format_TypeError( "", "int","appendField", 3, argv[1] ));
|
23100
|
-
}
|
23101
|
-
arg3 = static_cast< int >(val3);
|
23102
|
-
ecode4 = SWIG_AsVal_short(argv[2], &val4);
|
23103
|
-
if (!SWIG_IsOK(ecode4)) {
|
23104
|
-
SWIG_exception_fail(SWIG_ArgError(ecode4), Ruby_Format_TypeError( "", "short","appendField", 4, argv[2] ));
|
23105
|
-
}
|
23106
|
-
arg4 = static_cast< short >(val4);
|
23107
23209
|
{
|
23108
23210
|
try {
|
23109
|
-
(
|
23211
|
+
if (fd)
|
23212
|
+
(arg1)->appendField(*fd);
|
23213
|
+
else
|
23214
|
+
(arg1)->appendField((_TCHAR const *)arg2,arg3,arg4);
|
23110
23215
|
clearFieldsCache(self);
|
23111
23216
|
}
|
23112
23217
|
CATCH_BZS_AND_STD()
|
@@ -27765,6 +27870,8 @@ SWIGEXPORT void Init_transactd(void) {
|
|
27765
27870
|
rb_define_method(SwigClassRecordset.klass, "top", VALUEFUNC(_wrap_Recordset_top), -1);
|
27766
27871
|
rb_define_method(SwigClassRecordset.klass, "erase", VALUEFUNC(_wrap_Recordset_erase), -1);
|
27767
27872
|
rb_define_method(SwigClassRecordset.klass, "removeField", VALUEFUNC(_wrap_Recordset_removeField), -1);
|
27873
|
+
rb_define_method(SwigClassRecordset.klass, "join", VALUEFUNC(_wrap_Recordset_join), -1);
|
27874
|
+
rb_define_method(SwigClassRecordset.klass, "outerJoin", VALUEFUNC(_wrap_Recordset_outerJoin), -1);
|
27768
27875
|
rb_define_method(SwigClassRecordset.klass, "matchBy", VALUEFUNC(_wrap_Recordset_matchBy), -1);
|
27769
27876
|
rb_define_method(SwigClassRecordset.klass, "groupBy", VALUEFUNC(_wrap_Recordset_groupBy), -1);
|
27770
27877
|
rb_define_method(SwigClassRecordset.klass, "orderBy", VALUEFUNC(_wrap_Recordset_orderBy), -1);
|
@@ -27782,6 +27889,7 @@ SWIGEXPORT void Init_transactd(void) {
|
|
27782
27889
|
rb_define_alias(SwigClassRecordset.klass, "clear_records", "clearRecords");
|
27783
27890
|
rb_define_alias(SwigClassRecordset.klass, "field_defs", "fieldDefs");
|
27784
27891
|
rb_define_alias(SwigClassRecordset.klass, "remove_field", "removeField");
|
27892
|
+
rb_define_alias(SwigClassRecordset.klass, "outer_join", "outerJoin");
|
27785
27893
|
rb_define_alias(SwigClassRecordset.klass, "match_by", "matchBy");
|
27786
27894
|
rb_define_alias(SwigClassRecordset.klass, "group_by", "groupBy");
|
27787
27895
|
rb_define_alias(SwigClassRecordset.klass, "order_by", "orderBy");
|
data/build/tdclc/tdclc.cbproj
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
<VerInfo_Locale>1041</VerInfo_Locale>
|
63
63
|
<BRCC_CompilerToUse>rc</BRCC_CompilerToUse>
|
64
64
|
<BRCC_IncludePath>$(BDSINCLUDE)\windows\sdk;$(BRCC_IncludePath)</BRCC_IncludePath>
|
65
|
-
<DllSuffix>
|
65
|
+
<DllSuffix>_3_7</DllSuffix>
|
66
66
|
<DynamicRTL>false</DynamicRTL>
|
67
67
|
<BPILibOutputDir>..\..\lib</BPILibOutputDir>
|
68
68
|
<BCC_PCHUsage>None</BCC_PCHUsage>
|
data/build/tdclc/tdclc.rc
CHANGED
@@ -29,8 +29,8 @@
|
|
29
29
|
//
|
30
30
|
|
31
31
|
VS_VERSION_INFO VERSIONINFO
|
32
|
-
FILEVERSION 3,
|
33
|
-
PRODUCTVERSION 3,
|
32
|
+
FILEVERSION 3,7,0,248
|
33
|
+
PRODUCTVERSION 3,7,0,248
|
34
34
|
FILEFLAGSMASK 0x3fL
|
35
35
|
#ifdef _DEBUG
|
36
36
|
FILEFLAGS 0x1L
|
@@ -47,9 +47,9 @@ BEGIN
|
|
47
47
|
BEGIN
|
48
48
|
VALUE "CompanyName", "BizStation Corp."
|
49
49
|
VALUE "FileDescription", "Transactd C client"
|
50
|
-
VALUE "FileVersion", "3.
|
50
|
+
VALUE "FileVersion", "3.7.0.248"
|
51
51
|
VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
|
52
|
-
VALUE "ProductVersion", "3.
|
52
|
+
VALUE "ProductVersion", "3.7.0.248"
|
53
53
|
VALUE "ProductName", "Transactd Client (GPL V2)"
|
54
54
|
END
|
55
55
|
END
|
data/build/tdclcpp/tdclcpp.rc
CHANGED
@@ -29,8 +29,8 @@
|
|
29
29
|
//
|
30
30
|
|
31
31
|
VS_VERSION_INFO VERSIONINFO
|
32
|
-
FILEVERSION 3,
|
33
|
-
PRODUCTVERSION 3,
|
32
|
+
FILEVERSION 3,7,0,248
|
33
|
+
PRODUCTVERSION 3,7,0,248
|
34
34
|
FILEFLAGSMASK 0x3fL
|
35
35
|
#ifdef _DEBUG
|
36
36
|
FILEFLAGS 0x1L
|
@@ -47,9 +47,9 @@ BEGIN
|
|
47
47
|
BEGIN
|
48
48
|
VALUE "CompanyName", "BizStation Corp."
|
49
49
|
VALUE "FileDescription", "Transactd C++ client"
|
50
|
-
VALUE "FileVersion", "3.
|
50
|
+
VALUE "FileVersion", "3.7.0.248"
|
51
51
|
VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
|
52
|
-
VALUE "ProductVersion", "3.
|
52
|
+
VALUE "ProductVersion", "3.7.0.248"
|
53
53
|
VALUE "ProductName", "Transactd Client (GPL V2)"
|
54
54
|
END
|
55
55
|
END
|
@@ -153,7 +153,7 @@
|
|
153
153
|
<BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed>
|
154
154
|
<BCC_ExtendedErrorInfo>true</BCC_ExtendedErrorInfo>
|
155
155
|
<TD_VER_MAJOR>3</TD_VER_MAJOR>
|
156
|
-
<TD_VER_MINOR>
|
156
|
+
<TD_VER_MINOR>7</TD_VER_MINOR>
|
157
157
|
<DllSuffix>$(TD_VER_MAJOR)_$(TD_VER_MINOR)</DllSuffix>
|
158
158
|
<TD_CPU>32</TD_CPU>
|
159
159
|
</PropertyGroup>
|
data/build/tdclrb/tdclrb.rc
CHANGED
@@ -29,8 +29,8 @@
|
|
29
29
|
//
|
30
30
|
|
31
31
|
VS_VERSION_INFO VERSIONINFO
|
32
|
-
FILEVERSION 3,
|
33
|
-
PRODUCTVERSION 3,
|
32
|
+
FILEVERSION 3,7,0,248
|
33
|
+
PRODUCTVERSION 3,7,0,248
|
34
34
|
FILEFLAGSMASK 0x3fL
|
35
35
|
#ifdef _DEBUG
|
36
36
|
FILEFLAGS 0x1L
|
@@ -47,9 +47,9 @@ BEGIN
|
|
47
47
|
BEGIN
|
48
48
|
VALUE "CompanyName", "BizStation Corp."
|
49
49
|
VALUE "FileDescription", "Transactd Ruby client"
|
50
|
-
VALUE "FileVersion", "3.
|
50
|
+
VALUE "FileVersion", "3.7.0.248"
|
51
51
|
VALUE "LegalCopyright", "Copyright(C) 2016 BizStation Corp"
|
52
|
-
VALUE "ProductVersion", "3.
|
52
|
+
VALUE "ProductVersion", "3.7.0.248"
|
53
53
|
VALUE "ProductName", "Transactd Client (GPL V2)"
|
54
54
|
END
|
55
55
|
END
|
@@ -580,6 +580,17 @@ void fielddefs::addAllFields(const tabledef* def)
|
|
580
580
|
blobResize(blobCount);
|
581
581
|
}
|
582
582
|
|
583
|
+
void fielddefs::append(const fielddefs* fds)
|
584
|
+
{
|
585
|
+
size_t n = fds->size();
|
586
|
+
m_imple->fields.reserve(n + size());
|
587
|
+
for (size_t i = 0; i < n; ++i)
|
588
|
+
{
|
589
|
+
const fielddef* fd = &(*fds)[(int)i];
|
590
|
+
push_back(fd);
|
591
|
+
}
|
592
|
+
}
|
593
|
+
|
583
594
|
void fielddefs::addSelectedFields(const table* tb)
|
584
595
|
{
|
585
596
|
int n = tb->getCurProcFieldCount();
|
@@ -2246,6 +2257,19 @@ int field::nullComp(const field& r, char log) const
|
|
2246
2257
|
return 2;
|
2247
2258
|
}
|
2248
2259
|
|
2260
|
+
int field::nullCompMatch(const field& r, char log) const
|
2261
|
+
{
|
2262
|
+
if ((log == eIsNull) || (log == eIsNotNull))
|
2263
|
+
return nullComp(log);
|
2264
|
+
|
2265
|
+
bool lnull = isNull();
|
2266
|
+
if (lnull) return -1;
|
2267
|
+
|
2268
|
+
bool rnull = r.isNull();
|
2269
|
+
if (lnull) return 1;
|
2270
|
+
return 2;
|
2271
|
+
}
|
2272
|
+
|
2249
2273
|
int field::comp(const field& r, char log) const
|
2250
2274
|
{
|
2251
2275
|
int ret = nullComp(r, log & 0xf);
|
@@ -110,6 +110,7 @@ public:
|
|
110
110
|
size_t size() const;
|
111
111
|
void addAllFields(const tabledef* def);
|
112
112
|
void addSelectedFields(const class table* tb);
|
113
|
+
void append(const fielddefs* fds);
|
113
114
|
void release();
|
114
115
|
static fielddefs* create();
|
115
116
|
};
|
@@ -152,6 +153,7 @@ class DLLLIB field
|
|
152
153
|
void* nullPtr() const;
|
153
154
|
int nullComp(const field& r, char log) const;
|
154
155
|
int nullComp(char log) const;
|
156
|
+
int nullCompMatch(const field& r, char log) const;
|
155
157
|
bool isCompPartAndMakeValue();
|
156
158
|
void offsetBlobPtr(size_t offset);
|
157
159
|
|