transactd 3.6.1 → 3.7.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/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
|
|