transactd 2.4.5 → 3.0.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 +1 -1
- data/README-JA.md +52 -529
- data/README.md +52 -523
- data/bin/common/tdclc_32_3_0.dll +0 -0
- data/bin/common/tdclc_64_3_0.dll +0 -0
- data/build/common/system.cmake +2 -1
- data/build/common/transactd_cl_common.cmake +3 -6
- data/build/swig/ruby/ruby.swg +85 -28
- data/build/swig/ruby/tdclrb_wrap.cpp +3195 -1578
- data/build/swig/tdcl.i +161 -5
- data/build/tdclc/CMakeLists.txt +1 -0
- data/build/tdclc/tdclc.cbproj +7 -1
- data/build/tdclc/tdclc.rc +4 -4
- data/build/tdclcpp/tdclcpp.rc +4 -4
- data/build/tdclcpp/tdclcpp_bc.cbproj +2 -5
- data/build/tdclrb/tdclrb.rc +4 -4
- data/source/bzs/db/blobStructs.h +1 -1
- data/source/bzs/db/engine/mysql/database.cpp +199 -74
- data/source/bzs/db/engine/mysql/database.h +47 -18
- data/source/bzs/db/engine/mysql/dbManager.cpp +1 -0
- data/source/bzs/db/engine/mysql/mysqlInternal.h +32 -8
- data/source/bzs/db/protocol/tdap/btrDate.cpp +110 -75
- data/source/bzs/db/protocol/tdap/btrDate.h +46 -21
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +18 -18
- data/source/bzs/db/protocol/tdap/client/activeTable.h +25 -25
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +10 -4
- data/source/bzs/db/protocol/tdap/client/client.cpp +6 -5
- data/source/bzs/db/protocol/tdap/client/client.h +82 -15
- data/source/bzs/db/protocol/tdap/client/database.cpp +531 -142
- data/source/bzs/db/protocol/tdap/client/database.h +19 -6
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +461 -408
- data/source/bzs/db/protocol/tdap/client/dbDef.h +11 -17
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +61 -13
- data/source/bzs/db/protocol/tdap/client/field.cpp +1592 -1398
- data/source/bzs/db/protocol/tdap/client/field.h +110 -121
- data/source/bzs/db/protocol/tdap/client/fields.h +40 -10
- data/source/bzs/db/protocol/tdap/client/filter.h +69 -55
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +296 -164
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +77 -25
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +31 -13
- data/source/bzs/db/protocol/tdap/client/memRecord.h +31 -21
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +1 -1
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +4 -1
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +69 -24
- data/source/bzs/db/protocol/tdap/client/nsTable.h +3 -1
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +1 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +46 -27
- data/source/bzs/db/protocol/tdap/client/request.h +2 -1
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +44 -9
- data/source/bzs/db/protocol/tdap/client/serializer.h +1 -1
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +182 -76
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +23 -12
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +8 -10
- data/source/bzs/db/protocol/tdap/client/table.cpp +172 -93
- data/source/bzs/db/protocol/tdap/client/table.h +112 -37
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +17 -0
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +0 -1
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +0 -2
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +1 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +698 -14
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +723 -307
- data/source/bzs/db/protocol/tdap/myDateTime.h +294 -0
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +164 -54
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +6 -3
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +133 -550
- data/source/bzs/db/protocol/tdap/mysql/request.h +6 -5
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +217 -82
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +1 -1
- data/source/bzs/db/protocol/tdap/tdapRequest.h +4 -9
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +808 -17
- data/source/bzs/db/protocol/tdap/tdapSchema.h +656 -164
- data/source/bzs/db/protocol/tdap/tdapcapi.h +130 -28
- data/source/bzs/db/protocol/tdap/uri.h +40 -32
- data/source/bzs/db/transactd/connManager.cpp +1 -1
- data/source/bzs/db/transactd/transactd.cpp +7 -0
- data/source/bzs/env/compiler.h +107 -94
- data/source/bzs/env/crosscompile.cpp +24 -12
- data/source/bzs/env/crosscompile.h +75 -6
- data/source/bzs/env/mbcswchrLinux.cpp +2 -2
- data/source/bzs/env/tcharMinGW.h +4 -0
- data/source/bzs/example/changeSchema.cpp +22 -17
- data/source/bzs/example/queryData.cpp +4 -0
- data/source/bzs/netsvc/client/iconnection.h +3 -1
- data/source/bzs/netsvc/client/tcpClient.h +10 -3
- data/source/bzs/rtl/stringBuffers.cpp +7 -0
- data/source/bzs/test/tdclatl/bench_query_atl.js +6 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +8 -1
- data/source/bzs/test/tdclatl/test_query_atl.js +22 -2
- data/source/bzs/test/tdclatl/test_v3.js +1017 -0
- data/source/bzs/test/tdclphp/transactd_Test.php +55 -21
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +0 -5
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +2 -0
- data/source/bzs/test/tdclphp/transactd_v3_Test.php +743 -0
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -5
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +2 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +39 -16
- data/source/bzs/test/tdclrb/transactd_v3_spec.rb +748 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +55 -58
- data/source/bzs/test/transactdBench/transactdBench2.cpp +1 -3
- data/source/bzs/test/trdclengn/testField.h +3305 -0
- data/source/bzs/test/trdclengn/test_tdclcpp_v3.cpp +1050 -0
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +112 -190
- data/source/bzs/test/trdclengn/testbase.h +137 -0
- data/source/global/ormsrcgen/srcgen.cpp +23 -12
- data/source/global/ormsrcgen/template/ormDataClass_template.h +2 -0
- data/source/global/querystmts/querystmts.cpp +2 -3
- data/source/global/tdclatl/Bitset.cpp +38 -0
- data/source/global/tdclatl/Bitset.h +63 -0
- data/source/global/tdclatl/Database.cpp +59 -18
- data/source/global/tdclatl/Database.h +7 -4
- data/source/global/tdclatl/DbDef.cpp +6 -6
- data/source/global/tdclatl/DbDef.h +2 -1
- data/source/global/tdclatl/Field.cpp +112 -0
- data/source/global/tdclatl/Field.h +19 -5
- data/source/global/tdclatl/FieldDef.cpp +137 -16
- data/source/global/tdclatl/FieldDef.h +18 -2
- data/source/global/tdclatl/FieldDefs.cpp +54 -1
- data/source/global/tdclatl/FieldDefs.h +3 -0
- data/source/global/tdclatl/GroupQuery.cpp +8 -8
- data/source/global/tdclatl/QueryBase.cpp +65 -0
- data/source/global/tdclatl/QueryBase.h +10 -0
- data/source/global/tdclatl/Record.cpp +33 -2
- data/source/global/tdclatl/Record.h +3 -1
- data/source/global/tdclatl/RecordsetQuery.cpp +42 -0
- data/source/global/tdclatl/RecordsetQuery.h +8 -0
- data/source/global/tdclatl/Table.cpp +127 -3
- data/source/global/tdclatl/Table.h +10 -1
- data/source/global/tdclatl/TableDef.cpp +41 -8
- data/source/global/tdclatl/TableDef.h +7 -2
- data/source/global/tdclatl/activeTable.cpp +40 -71
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/tdclatl.idl +222 -28
- data/source/linux/tchar.h +100 -96
- data/transactd.gemspec +2 -2
- metadata +13 -11
- data/BUILD_UNIX-JA.md +0 -161
- data/BUILD_WIN-JA.md +0 -326
- data/README_ORMSRCGEN-JA.md +0 -115
- data/README_ORMSRCGEN.md +0 -118
- data/RELEASE_NOTE-JA.md +0 -356
- data/RELEASE_NOTE.md +0 -360
- data/bin/common/tdclc_32_2_4.dll +0 -0
- data/bin/common/tdclc_64_2_4.dll +0 -0
- data/source/bzs/test/trdclengn/test_blob.cpp +0 -375
data/source/bzs/env/compiler.h
CHANGED
|
@@ -20,201 +20,214 @@
|
|
|
20
20
|
=================================================================*/
|
|
21
21
|
// function type
|
|
22
22
|
#if (__BCPLUSPLUS__)
|
|
23
|
-
#if (defined(__APPLE__) || defined(__clang__))
|
|
24
|
-
#define __THREAD __declspec(thread)
|
|
25
|
-
#define __STDCALL
|
|
26
|
-
#else
|
|
27
|
-
#define __THREAD __thread
|
|
28
|
-
#define __STDCALL __stdcall
|
|
29
|
-
#endif
|
|
30
|
-
#else
|
|
31
|
-
#define __THREAD __declspec(thread)
|
|
32
|
-
#if (_MSC_VER || __MINGW32__)
|
|
33
|
-
#define __STDCALL __stdcall
|
|
34
|
-
#else
|
|
35
|
-
#define __STDCALL
|
|
36
|
-
#endif
|
|
23
|
+
# if (defined(__APPLE__) || defined(__clang__))
|
|
24
|
+
# define __THREAD __declspec(thread)
|
|
25
|
+
# define __STDCALL
|
|
26
|
+
# else
|
|
27
|
+
# define __THREAD __thread
|
|
28
|
+
# define __STDCALL __stdcall
|
|
29
|
+
# endif
|
|
30
|
+
#else
|
|
31
|
+
# define __THREAD __declspec(thread)
|
|
32
|
+
# if (_MSC_VER || __MINGW32__)
|
|
33
|
+
# define __STDCALL __stdcall
|
|
34
|
+
# else
|
|
35
|
+
# define __STDCALL
|
|
36
|
+
# endif
|
|
37
37
|
#endif
|
|
38
38
|
|
|
39
39
|
// operating system
|
|
40
40
|
#ifdef _WIN32
|
|
41
|
-
#ifdef _WIN64
|
|
42
|
-
#ifndef __x86_64__
|
|
43
|
-
#define __x86_64__
|
|
44
|
-
#endif
|
|
45
|
-
#else
|
|
46
|
-
#define __x86_32__
|
|
47
|
-
#endif
|
|
41
|
+
# ifdef _WIN64
|
|
42
|
+
# ifndef __x86_64__
|
|
43
|
+
# define __x86_64__
|
|
44
|
+
# endif
|
|
45
|
+
# else
|
|
46
|
+
# define __x86_32__
|
|
47
|
+
# endif
|
|
48
48
|
#else
|
|
49
|
-
#ifndef LINUX
|
|
50
|
-
#define LINUX 1 // Support 64bit only
|
|
51
|
-
#endif
|
|
49
|
+
# ifndef LINUX
|
|
50
|
+
# define LINUX 1 // Support 64bit only
|
|
51
|
+
# endif
|
|
52
52
|
#endif
|
|
53
|
+
|
|
53
54
|
#if (__BCPLUSPLUS__ && defined(__APPLE__))
|
|
54
|
-
#define __APPLE_32__ 1
|
|
55
|
+
# define __APPLE_32__ 1
|
|
55
56
|
#endif
|
|
57
|
+
|
|
56
58
|
// thread strage
|
|
57
59
|
#ifndef __THREAD_BCB
|
|
58
|
-
#undef __THREAD
|
|
59
|
-
#if (__BCPLUSPLUS__ && !defined(__clang__))
|
|
60
|
-
#define __THREAD_BCB __thread
|
|
61
|
-
#define __THREAD
|
|
62
|
-
#else
|
|
63
|
-
#define __THREAD_BCB
|
|
64
|
-
#if (_MSC_VER || (__BORLANDC__ && __clang__))
|
|
65
|
-
#define __THREAD __declspec(thread)
|
|
66
|
-
#else
|
|
67
|
-
#define __THREAD __thread
|
|
68
|
-
#endif
|
|
69
|
-
#endif
|
|
60
|
+
# undef __THREAD
|
|
61
|
+
# if (__BCPLUSPLUS__ && !defined(__clang__))
|
|
62
|
+
# define __THREAD_BCB __thread
|
|
63
|
+
# define __THREAD
|
|
64
|
+
# else
|
|
65
|
+
# define __THREAD_BCB
|
|
66
|
+
# if (_MSC_VER || (__BORLANDC__ && __clang__))
|
|
67
|
+
# define __THREAD __declspec(thread)
|
|
68
|
+
# else
|
|
69
|
+
# define __THREAD __thread
|
|
70
|
+
# endif
|
|
71
|
+
# endif
|
|
70
72
|
#endif //__THREAD_BCB
|
|
71
73
|
|
|
72
74
|
// BCB_64
|
|
73
75
|
#if (__BCPLUSPLUS__ && defined(__clang__))
|
|
74
|
-
#define BCB_64
|
|
76
|
+
# define BCB_64
|
|
75
77
|
#endif
|
|
76
78
|
|
|
77
79
|
// BCB32
|
|
78
80
|
#if (__BCPLUSPLUS__ && defined(__x86_32__))
|
|
79
|
-
#define BCB_32
|
|
81
|
+
# define BCB_32
|
|
80
82
|
#endif
|
|
81
83
|
|
|
82
84
|
// export
|
|
83
85
|
#undef PACKAGE
|
|
84
86
|
#ifdef __BCPLUSPLUS__
|
|
85
|
-
#ifndef PACKAGE
|
|
86
|
-
#ifdef __x86_64__
|
|
87
|
-
#define PACKAGE __declspec(dllexport)
|
|
87
|
+
# ifndef PACKAGE
|
|
88
|
+
# ifdef __x86_64__
|
|
89
|
+
# define PACKAGE __declspec(dllexport)
|
|
90
|
+
# else
|
|
91
|
+
# define PACKAGE __declspec(package)
|
|
92
|
+
# endif
|
|
93
|
+
# endif
|
|
88
94
|
#else
|
|
89
|
-
#
|
|
90
|
-
#
|
|
91
|
-
#
|
|
92
|
-
#
|
|
93
|
-
#
|
|
94
|
-
#define PACKAGE __declspec(dllexport)
|
|
95
|
-
#else
|
|
96
|
-
#define PACKAGE
|
|
97
|
-
#endif
|
|
95
|
+
# if (_WIN32 && !defined(__MINGW32__))
|
|
96
|
+
# define PACKAGE __declspec(dllexport)
|
|
97
|
+
# else
|
|
98
|
+
# define PACKAGE
|
|
99
|
+
# endif
|
|
98
100
|
#endif
|
|
99
101
|
|
|
100
102
|
#ifdef PACKAGE_NO_EXPORT
|
|
101
|
-
#undef PACKAGE
|
|
102
|
-
#define PACKAGE
|
|
103
|
+
# undef PACKAGE
|
|
104
|
+
# define PACKAGE
|
|
103
105
|
#endif
|
|
104
106
|
|
|
105
107
|
#define AGRPACK PACKAGE
|
|
106
108
|
|
|
107
109
|
// bcb_osx
|
|
108
110
|
#if (__BCPLUSPLUS__ && defined(__APPLE__) && !defined(__clang__))
|
|
109
|
-
#define PACKAGE_OSX PACKAGE
|
|
111
|
+
# define PACKAGE_OSX PACKAGE
|
|
110
112
|
#else
|
|
111
|
-
#define PACKAGE_OSX
|
|
113
|
+
# define PACKAGE_OSX
|
|
112
114
|
#endif
|
|
113
115
|
|
|
114
116
|
// import
|
|
115
117
|
#if (defined(LINUX) || __MINGW32__)
|
|
116
|
-
#define PACKAGE_IMPORT
|
|
118
|
+
# define PACKAGE_IMPORT
|
|
117
119
|
#else
|
|
118
|
-
#define PACKAGE_IMPORT __declspec(dllimport)
|
|
120
|
+
# define PACKAGE_IMPORT __declspec(dllimport)
|
|
121
|
+
#endif
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
//__int64 basic type
|
|
125
|
+
#if (defined(LINUX))
|
|
126
|
+
# ifndef __int64
|
|
127
|
+
# define __int64 long long int
|
|
128
|
+
# endif
|
|
129
|
+
# ifndef NULL
|
|
130
|
+
# define NULL 0
|
|
131
|
+
# endif
|
|
119
132
|
#endif
|
|
120
133
|
|
|
121
134
|
// data alignment
|
|
122
135
|
#if (_MSC_VER || (__BORLANDC__ && __clang__))
|
|
123
|
-
#define pragma_pack1 __pragma(pack(push, 1))
|
|
124
|
-
#define pragma_pop __pragma(pack(pop))
|
|
125
|
-
#else
|
|
126
|
-
#ifdef __BCPLUSPLUS__
|
|
127
|
-
#define pragma_pack1
|
|
128
|
-
#define pragma_pop
|
|
136
|
+
# define pragma_pack1 __pragma(pack(push, 1))
|
|
137
|
+
# define pragma_pop __pragma(pack(pop))
|
|
129
138
|
#else
|
|
130
|
-
#
|
|
131
|
-
#define
|
|
132
|
-
#
|
|
139
|
+
# ifdef __BCPLUSPLUS__
|
|
140
|
+
# define pragma_pack1
|
|
141
|
+
# define pragma_pop
|
|
142
|
+
# else
|
|
143
|
+
# define pragma_pack1 _Pragma("pack(1)")
|
|
144
|
+
# define pragma_pop _Pragma("pack()")
|
|
145
|
+
# endif
|
|
133
146
|
#endif
|
|
134
147
|
|
|
135
148
|
//memory leak detector
|
|
136
149
|
#ifdef _MSC_VER
|
|
137
|
-
#ifdef _DEBUG
|
|
138
|
-
#define _CRTDBG_MAP_ALLOC
|
|
139
|
-
#include <stdlib.h>
|
|
140
|
-
#include <crtdbg.h>
|
|
141
|
-
#endif // _DEBUG
|
|
150
|
+
# ifdef _DEBUG
|
|
151
|
+
# define _CRTDBG_MAP_ALLOC
|
|
152
|
+
# include <stdlib.h>
|
|
153
|
+
# include <crtdbg.h>
|
|
154
|
+
# endif // _DEBUG
|
|
142
155
|
#endif // _MSC_VER
|
|
143
156
|
|
|
144
157
|
|
|
145
158
|
// compiler name
|
|
146
159
|
#if (_MSC_VER == 1400)
|
|
147
|
-
#define COMPILER_VERSTR "vc80"
|
|
160
|
+
# define COMPILER_VERSTR "vc80"
|
|
148
161
|
#endif
|
|
149
162
|
|
|
150
163
|
#if (_MSC_VER == 1500)
|
|
151
|
-
#define COMPILER_VERSTR "vc90"
|
|
164
|
+
# define COMPILER_VERSTR "vc90"
|
|
152
165
|
#endif
|
|
153
166
|
|
|
154
167
|
#if (_MSC_VER == 1600)
|
|
155
|
-
#define COMPILER_VERSTR "vc100"
|
|
168
|
+
# define COMPILER_VERSTR "vc100"
|
|
156
169
|
#endif
|
|
157
170
|
|
|
158
171
|
#if (_MSC_VER == 1700)
|
|
159
|
-
#define COMPILER_VERSTR "vc110"
|
|
172
|
+
# define COMPILER_VERSTR "vc110"
|
|
160
173
|
#endif
|
|
161
174
|
|
|
162
175
|
#if (_MSC_VER == 1800)
|
|
163
|
-
#define COMPILER_VERSTR "vc120"
|
|
176
|
+
# define COMPILER_VERSTR "vc120"
|
|
164
177
|
#endif
|
|
165
178
|
|
|
166
179
|
#if (_MSC_VER == 1900)
|
|
167
|
-
#define COMPILER_VERSTR "vc140"
|
|
180
|
+
# define COMPILER_VERSTR "vc140"
|
|
168
181
|
#endif
|
|
169
182
|
|
|
170
183
|
#if (__BCPLUSPLUS__ >= 0x630 && (__BCPLUSPLUS__ < 0x640))
|
|
171
|
-
#define COMPILER_VERSTR "bc150"
|
|
184
|
+
# define COMPILER_VERSTR "bc150"
|
|
172
185
|
#endif
|
|
173
186
|
|
|
174
187
|
#if (__BCPLUSPLUS__ >= 0x640 && (__BCPLUSPLUS__ < 0x650))
|
|
175
|
-
#define COMPILER_VERSTR "bc160"
|
|
188
|
+
# define COMPILER_VERSTR "bc160"
|
|
176
189
|
#endif
|
|
177
190
|
|
|
178
191
|
#if (__BCPLUSPLUS__ >= 0x650 && (__BCPLUSPLUS__ < 0x660))
|
|
179
|
-
#define COMPILER_VERSTR "bc170"
|
|
192
|
+
# define COMPILER_VERSTR "bc170"
|
|
180
193
|
#endif
|
|
181
194
|
|
|
182
195
|
#if (__BCPLUSPLUS__ >= 0x660 && (__BCPLUSPLUS__ < 0x670))
|
|
183
|
-
#define COMPILER_VERSTR "bc180"
|
|
196
|
+
# define COMPILER_VERSTR "bc180"
|
|
184
197
|
#endif
|
|
185
198
|
|
|
186
199
|
#if (__BCPLUSPLUS__ >= 0x670 && (__BCPLUSPLUS__ < 0x680))
|
|
187
|
-
#define COMPILER_VERSTR "bc190"
|
|
200
|
+
# define COMPILER_VERSTR "bc190"
|
|
188
201
|
#endif
|
|
189
202
|
|
|
190
203
|
#if (__BCPLUSPLUS__ >= 0x680 && (__BCPLUSPLUS__ < 0x690))
|
|
191
|
-
#define COMPILER_VERSTR "bc200"
|
|
204
|
+
# define COMPILER_VERSTR "bc200"
|
|
192
205
|
#endif
|
|
193
206
|
|
|
194
207
|
#if (__BCPLUSPLUS__ >= 0x690 && (__BCPLUSPLUS__ < 0x700))
|
|
195
|
-
#define COMPILER_VERSTR "bc210"
|
|
208
|
+
# define COMPILER_VERSTR "bc210"
|
|
196
209
|
#endif
|
|
197
210
|
|
|
198
211
|
#if (__APPLE__)
|
|
199
|
-
#define SHARED_LIB_EXTENTION ".dylib"
|
|
212
|
+
# define SHARED_LIB_EXTENTION ".dylib"
|
|
200
213
|
#else
|
|
201
|
-
#if (defined(LINUX) || (__BORLANDC__ && __clang__))
|
|
202
|
-
#define SHARED_LIB_EXTENTION ".a"
|
|
203
|
-
#else
|
|
204
|
-
#define SHARED_LIB_EXTENTION ".lib"
|
|
205
|
-
#endif
|
|
214
|
+
# if (defined(LINUX) || (__BORLANDC__ && __clang__))
|
|
215
|
+
# define SHARED_LIB_EXTENTION ".a"
|
|
216
|
+
# else
|
|
217
|
+
# define SHARED_LIB_EXTENTION ".lib"
|
|
218
|
+
# endif
|
|
206
219
|
#endif
|
|
207
220
|
|
|
208
221
|
#if (defined(LINUX) || (__BORLANDC__ && __clang__))
|
|
209
|
-
#define LIB_EXTENTION ".a"
|
|
222
|
+
# define LIB_EXTENTION ".a"
|
|
210
223
|
#else
|
|
211
|
-
#define LIB_EXTENTION ".lib"
|
|
224
|
+
# define LIB_EXTENTION ".lib"
|
|
212
225
|
#endif
|
|
213
226
|
|
|
214
227
|
#ifdef LINUX
|
|
215
|
-
#define LIB_PREFIX "lib"
|
|
228
|
+
# define LIB_PREFIX "lib"
|
|
216
229
|
#else
|
|
217
|
-
#define LIB_PREFIX
|
|
230
|
+
# define LIB_PREFIX
|
|
218
231
|
#endif
|
|
219
232
|
|
|
220
233
|
#endif // BZS_ENV_COMPILER_H
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
#include <wctype.h>
|
|
24
24
|
#include <wchar.h>
|
|
25
25
|
|
|
26
|
+
|
|
26
27
|
char16_t* _strupr16(char16_t* s)
|
|
27
28
|
{
|
|
28
29
|
char16_t* p = s;
|
|
@@ -67,18 +68,6 @@ char* _strlwr(char* s)
|
|
|
67
68
|
return p;
|
|
68
69
|
}
|
|
69
70
|
|
|
70
|
-
char* _i64toa_s(__int64 v, char* tmp, unsigned long size, int radix)
|
|
71
|
-
{
|
|
72
|
-
snprintf(tmp, size, "%lld", v);
|
|
73
|
-
return tmp;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
char* _ltoa_s(int v, char* tmp, unsigned long size, int radix)
|
|
77
|
-
{
|
|
78
|
-
snprintf(tmp, size, "%d", v);
|
|
79
|
-
return tmp;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
71
|
int wcsnicmp16(const char16_t* sl, const char16_t* sr, size_t n)
|
|
83
72
|
{
|
|
84
73
|
if (n == 0)
|
|
@@ -145,3 +134,26 @@ char16_t* wmemcpy(char16_t* dest, const char16_t* src, size_t count)
|
|
|
145
134
|
}
|
|
146
135
|
|
|
147
136
|
#endif // LINUX
|
|
137
|
+
|
|
138
|
+
#if (defined(_WIN32) && !defined(__MINGW32__))
|
|
139
|
+
#include <windows.h>
|
|
140
|
+
#include "crosscompile.h"
|
|
141
|
+
|
|
142
|
+
static const __int64 EPOCH = ((__int64) 116444736000000000ULL);
|
|
143
|
+
int gettimeofday(struct timeval * tp, struct timezone * tzp)
|
|
144
|
+
{
|
|
145
|
+
|
|
146
|
+
SYSTEMTIME system_time;
|
|
147
|
+
FILETIME file_time;
|
|
148
|
+
__int64 time;
|
|
149
|
+
|
|
150
|
+
GetSystemTime( &system_time );
|
|
151
|
+
SystemTimeToFileTime( &system_time, &file_time );
|
|
152
|
+
time = ((__int64)file_time.dwLowDateTime ) ;
|
|
153
|
+
time += ((__int64)file_time.dwHighDateTime) << 32;
|
|
154
|
+
|
|
155
|
+
tp->tv_sec = (long) ((time - EPOCH) / 10000000L);
|
|
156
|
+
tp->tv_usec = (long) (system_time.wMilliseconds * 1000);
|
|
157
|
+
return 0;
|
|
158
|
+
}
|
|
159
|
+
#endif //(defined(_WIN32) && !defined(__MINGW32__))
|
|
@@ -47,14 +47,20 @@ int gettimeofday(struct timeval*, struct timezone*);
|
|
|
47
47
|
#include <ctype.h>
|
|
48
48
|
#include <stddef.h>
|
|
49
49
|
#include <linuxTypes.h>
|
|
50
|
+
#include <inttypes.h>
|
|
51
|
+
#include <stdio.h>
|
|
52
|
+
#include <string.h>
|
|
53
|
+
#include <wctype.h>
|
|
54
|
+
#include <wchar.h>
|
|
50
55
|
/* c c++ runtime library */
|
|
51
|
-
#
|
|
56
|
+
#ifndef __int64
|
|
52
57
|
#define __int64 long long int
|
|
58
|
+
#endif
|
|
59
|
+
|
|
60
|
+
#define _strnicmp strncasecmp
|
|
53
61
|
#define _atoi64 atoll
|
|
54
|
-
#define _wtoi(W) wcstol(W, NULL, 10)
|
|
55
62
|
#define _access access
|
|
56
63
|
#define sprintf_s snprintf
|
|
57
|
-
#define swprintf_s swprintf
|
|
58
64
|
#define localtime_s localtime_r
|
|
59
65
|
#define strncpy_s(A, B, C, D) strncpy(A, C, D)
|
|
60
66
|
#define strcpy_s(A, B, C) strcpy(A, C)
|
|
@@ -71,8 +77,58 @@ int gettimeofday(struct timeval*, struct timezone*);
|
|
|
71
77
|
|
|
72
78
|
char* _strupr(char* s);
|
|
73
79
|
char* _strlwr(char* s);
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
inline char* _i64toa_s(__int64 v, char* tmp, unsigned long size, int radix)
|
|
83
|
+
{
|
|
84
|
+
snprintf(tmp, size, "%lld", v);
|
|
85
|
+
return tmp;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
inline char* _ui64toa_s(unsigned __int64 v, char* tmp, unsigned long size, int radix)
|
|
89
|
+
{
|
|
90
|
+
snprintf(tmp, size, "%llu", v);
|
|
91
|
+
return tmp;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
inline char* _ltoa_s(int v, char* tmp, unsigned long size, int radix)
|
|
95
|
+
{
|
|
96
|
+
snprintf(tmp, size, "%d", v);
|
|
97
|
+
return tmp;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
inline char* _ultoa_s(int v, char* tmp, unsigned long size, int radix)
|
|
101
|
+
{
|
|
102
|
+
snprintf(tmp, size, "%u", v);
|
|
103
|
+
return tmp;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
inline char* _ltoa(int v, char* tmp, int radix)
|
|
107
|
+
{
|
|
108
|
+
sprintf(tmp, "%d", v);
|
|
109
|
+
return tmp;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
inline char* _ultoa(int v, char* tmp, int radix)
|
|
113
|
+
{
|
|
114
|
+
sprintf(tmp, "%u", v);
|
|
115
|
+
return tmp;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
#if !defined(__BORLANDC__)
|
|
119
|
+
inline char* _i64toa(__int64 v, char* tmp, int radix)
|
|
120
|
+
{
|
|
121
|
+
sprintf(tmp, "%lld", v);
|
|
122
|
+
return tmp;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
inline char* _ui64toa(unsigned __int64 v, char* tmp, int radix)
|
|
126
|
+
{
|
|
127
|
+
sprintf(tmp, "%llu", v);
|
|
128
|
+
return tmp;
|
|
129
|
+
}
|
|
130
|
+
#endif
|
|
131
|
+
|
|
76
132
|
char16_t* _strupr16(char16_t* s);
|
|
77
133
|
char16_t* _strlwr16(char16_t* s);
|
|
78
134
|
size_t strlen16(const char16_t* src);
|
|
@@ -127,14 +183,21 @@ typedef unsigned __int32 char32_t; // 32bit
|
|
|
127
183
|
/* c c++ runtime library */
|
|
128
184
|
#include <tchar.h>
|
|
129
185
|
#if defined(__BORLANDC__) || defined(__MINGW32__)
|
|
186
|
+
|
|
130
187
|
#define _ltow_s(A, B, C, D) _ltow(A, B, D)
|
|
131
188
|
#define _ltoa_s(A, B, C, D) _ltoa(A, B, D)
|
|
132
189
|
#define _ltot_s(A, B, C, D) _ltot(A, B, D)
|
|
133
190
|
#define _ultot_s(A, B, C, D) _ultot(A, B, D)
|
|
134
191
|
#define _i64tot_s(A, B, C, D) _i64tot(A, B, D)
|
|
135
|
-
#define _i64tow_s(A, B, C, D) _i64tow(A, B, D)
|
|
136
192
|
#define _i64toa_s(A, B, C, D) _i64toa(A, B, D)
|
|
193
|
+
#define _i64tow_s(A, B, C, D) _i64tow(A, B, D)
|
|
194
|
+
#define _ui64tot_s(A, B, C, D) _ui64tot(A, B, D)
|
|
195
|
+
#define _ui64toa_s(A, B, C, D) _ui64toa(A, B, D)
|
|
196
|
+
#define _ui64tow_s(A, B, C, D) _ui64tow(A, B, D)
|
|
137
197
|
#define _strlwr_s(A, B) strlwr(A)
|
|
198
|
+
#ifndef _tcslwr_s
|
|
199
|
+
#define _tcslwr_s(A, B) _tcslwr(A)
|
|
200
|
+
#endif
|
|
138
201
|
#endif
|
|
139
202
|
|
|
140
203
|
#if defined(__BORLANDC__)
|
|
@@ -157,6 +220,7 @@ typedef unsigned __int32 char32_t; // 32bit
|
|
|
157
220
|
/* muliti byete char */
|
|
158
221
|
typedef unsigned char mbchar;
|
|
159
222
|
typedef unsigned char char_m;
|
|
223
|
+
int gettimeofday(struct timeval * tp, struct timezone * tzp);
|
|
160
224
|
|
|
161
225
|
#endif // defined(LINUX)
|
|
162
226
|
|
|
@@ -176,4 +240,9 @@ typedef unsigned char char_m;
|
|
|
176
240
|
#define tls_setspecific(A, B) pthread_setspecific(A, B)
|
|
177
241
|
#endif
|
|
178
242
|
|
|
243
|
+
#if (defined(_MSC_VER) && (_MSC_VER < 1800))
|
|
244
|
+
#define strtoull _strtoui64
|
|
245
|
+
#define wcstoull _wcstoui64
|
|
246
|
+
#endif
|
|
247
|
+
|
|
179
248
|
#endif // BZS_ENV_CROSSCOMPILE_H
|
data/source/bzs/env/tcharMinGW.h
CHANGED
|
@@ -23,10 +23,12 @@
|
|
|
23
23
|
#ifdef _UNICODE
|
|
24
24
|
|
|
25
25
|
#define _tcsncpy_s wcsncpy_s
|
|
26
|
+
#define _tcslwr _wcslwr
|
|
26
27
|
|
|
27
28
|
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) // 4.5 and lesser
|
|
28
29
|
#define _tcscpy_s wcscpy_s
|
|
29
30
|
#define _tcscat_s wcscat_s
|
|
31
|
+
#define _tcserror _wcserror
|
|
30
32
|
typedef wchar_t _TUCHAR;
|
|
31
33
|
#elseif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5) // 4.6 and grater
|
|
32
34
|
#define _tcsstr wcsstr
|
|
@@ -41,10 +43,12 @@ typedef wchar_t _TUCHAR;
|
|
|
41
43
|
|
|
42
44
|
#define _tcsncpy_s strncpy_s
|
|
43
45
|
#define _tcsupr_s(a, b) (_strupr(a))
|
|
46
|
+
#define _tcslwr _strlwr
|
|
44
47
|
|
|
45
48
|
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) // 4.5 and lesser
|
|
46
49
|
#define _tcscpy_s strcpy_s
|
|
47
50
|
#define _tcscat_s strcat_s
|
|
51
|
+
#define _tcserror strerror
|
|
48
52
|
typedef char _TUCHAR;
|
|
49
53
|
#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5) // 4.6 and grater
|
|
50
54
|
#define _tcsstr strstr
|
|
@@ -87,28 +87,33 @@ int _tmain(int argc, _TCHAR* argv[])
|
|
|
87
87
|
{
|
|
88
88
|
// backup current user table schema
|
|
89
89
|
db->dbDef()->pushBackup(tablenum_user);
|
|
90
|
-
|
|
91
|
-
if (changeUserTable(db->dbDef()))
|
|
90
|
+
if (db->dbDef()->stat() == 0)
|
|
92
91
|
{
|
|
93
|
-
|
|
94
|
-
if (db->existsTableFile(tablenum_user, NULL))
|
|
92
|
+
if (changeUserTable(db->dbDef()))
|
|
95
93
|
{
|
|
96
|
-
|
|
94
|
+
// convert table if table exist;
|
|
95
|
+
if (db->existsTableFile(TABLE_NUM_TMP, NULL))
|
|
96
|
+
{
|
|
97
|
+
db->setOnCopyData(onCopyData);
|
|
98
|
+
|
|
99
|
+
db->convertTable(tablenum_user, false, NULL);
|
|
100
|
+
if (db->stat())
|
|
101
|
+
showError(_T("convert table"), NULL, db->stat());
|
|
102
|
+
}
|
|
103
|
+
}
|
|
97
104
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
105
|
+
if (db->stat())
|
|
106
|
+
{
|
|
107
|
+
result = db->stat();
|
|
108
|
+
// restore user table schema
|
|
109
|
+
db->dbDef()->popBackup(tablenum_user);
|
|
101
110
|
}
|
|
102
|
-
|
|
111
|
+
else
|
|
112
|
+
_tprintf(_T("\nchange schema success. \n"));
|
|
113
|
+
|
|
114
|
+
}else
|
|
115
|
+
showError(_T("backup table def"), NULL, db->dbDef()->stat());
|
|
103
116
|
|
|
104
|
-
if (db->stat())
|
|
105
|
-
{
|
|
106
|
-
result = db->stat();
|
|
107
|
-
// restore user table schema
|
|
108
|
-
db->dbDef()->popBackup(tablenum_user);
|
|
109
|
-
}
|
|
110
|
-
else
|
|
111
|
-
_tprintf(_T("\nchange schema success. \n"));
|
|
112
117
|
db->close();
|
|
113
118
|
}
|
|
114
119
|
database::destroy(db);
|
|
@@ -449,6 +449,7 @@ bool checkVersion(database_ptr db)
|
|
|
449
449
|
return (tb->recordCount(false) == 20000);
|
|
450
450
|
}
|
|
451
451
|
}
|
|
452
|
+
td = def->tableDefs(1);
|
|
452
453
|
}
|
|
453
454
|
return false;
|
|
454
455
|
}
|
|
@@ -464,6 +465,9 @@ int prebuiltData(database_ptr db, const connectParams& param, bool foceCreate,
|
|
|
464
465
|
dropDatabase(db);
|
|
465
466
|
else
|
|
466
467
|
return 0;
|
|
468
|
+
}else if (db->stat() == STATUS_INVALID_DATASIZE)
|
|
469
|
+
{
|
|
470
|
+
dropDatabase(db);
|
|
467
471
|
}
|
|
468
472
|
std::tcout << _T("\nInserting query test data. Please wait... ")
|
|
469
473
|
<< std::flush;
|
|
@@ -21,10 +21,11 @@
|
|
|
21
21
|
#ifdef __BCPLUSPLUS__
|
|
22
22
|
#pragma warn -8012
|
|
23
23
|
#endif
|
|
24
|
-
|
|
25
24
|
#include <boost/version.hpp>
|
|
26
25
|
#if (BOOST_VERSION > 104900)
|
|
26
|
+
|
|
27
27
|
#include <boost/asio.hpp>
|
|
28
|
+
|
|
28
29
|
#else
|
|
29
30
|
#include <boost/asio/ip/tcp.hpp>
|
|
30
31
|
#include <boost/asio/buffer.hpp>
|
|
@@ -107,6 +108,7 @@ public:
|
|
|
107
108
|
virtual char* read() = 0;
|
|
108
109
|
virtual bool isHandShakable() const = 0;
|
|
109
110
|
virtual const boost::system::error_code& error() const = 0;
|
|
111
|
+
virtual void* versions() = 0;
|
|
110
112
|
};
|
|
111
113
|
|
|
112
114
|
#define CONNECTION_FUNCTION_DIRECT_READ 1
|
|
@@ -19,10 +19,12 @@
|
|
|
19
19
|
02111-1307, USA.
|
|
20
20
|
================================================================= */
|
|
21
21
|
|
|
22
|
+
#pragma warning(disable : 4005) //BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT redefine bug
|
|
22
23
|
#include <bzs/netsvc/client/iconnection.h>
|
|
23
|
-
|
|
24
24
|
#include <boost/asio/write.hpp>
|
|
25
25
|
#include <boost/asio/read.hpp>
|
|
26
|
+
#pragma warning(default : 4005)
|
|
27
|
+
|
|
26
28
|
#include <boost/bind.hpp>
|
|
27
29
|
#include <boost/thread/mutex.hpp>
|
|
28
30
|
#if (BOOST_VERSION > 104900)
|
|
@@ -148,6 +150,7 @@ public:
|
|
|
148
150
|
|
|
149
151
|
/** Implementation of Part of the connection interface
|
|
150
152
|
*/
|
|
153
|
+
#define VER_ST_SIZE 12
|
|
151
154
|
class connectionBase : public connection
|
|
152
155
|
{
|
|
153
156
|
protected:
|
|
@@ -159,6 +162,7 @@ protected:
|
|
|
159
162
|
size_t m_readLen;
|
|
160
163
|
int m_refCount;
|
|
161
164
|
int m_charsetServer;
|
|
165
|
+
char m_vers[VER_ST_SIZE];
|
|
162
166
|
bool m_connected;
|
|
163
167
|
bool m_isHandShakable;
|
|
164
168
|
boost::system::error_code m_e;
|
|
@@ -183,6 +187,7 @@ public:
|
|
|
183
187
|
m_ep(ep), m_reader(NULL), m_refCount(0),
|
|
184
188
|
m_charsetServer(-1), m_connected(false), m_isHandShakable(true)
|
|
185
189
|
{
|
|
190
|
+
memset(m_vers, 0, VER_ST_SIZE);
|
|
186
191
|
}
|
|
187
192
|
virtual ~connectionBase()
|
|
188
193
|
{
|
|
@@ -196,6 +201,8 @@ public:
|
|
|
196
201
|
void setDirectReadHandler(idirectReadHandler* p){ m_reader = p; }
|
|
197
202
|
bool isHandShakable() const {return m_isHandShakable;};
|
|
198
203
|
const boost::system::error_code& error() const { return m_e; };
|
|
204
|
+
|
|
205
|
+
void* versions() {return (void*)m_vers;};
|
|
199
206
|
};
|
|
200
207
|
|
|
201
208
|
|
|
@@ -672,8 +679,8 @@ class pipeConnection : public connectionImple<platform_stream>
|
|
|
672
679
|
{
|
|
673
680
|
char* p = buf;
|
|
674
681
|
DWORD processId = GetCurrentProcessId();
|
|
675
|
-
|
|
676
|
-
sprintf_s(p, 120, "%s_%u_%
|
|
682
|
+
unsigned __int64 clientid = (unsigned __int64) this;
|
|
683
|
+
sprintf_s(p, 120, "%s_%u_%llu", name, processId, clientid);
|
|
677
684
|
return p;
|
|
678
685
|
}
|
|
679
686
|
|
|
@@ -30,6 +30,7 @@ namespace rtl
|
|
|
30
30
|
{
|
|
31
31
|
|
|
32
32
|
static const int MEMORY_UNIT = 8192;
|
|
33
|
+
static const size_t MAX_STRING_BUFFER = 196608; // MAX_USHORT * 3
|
|
33
34
|
|
|
34
35
|
stringBuffer::stringBuffer(size_t size) : m_ptr(NULL), m_len(0), m_pos(0)
|
|
35
36
|
{
|
|
@@ -59,6 +60,12 @@ size_t stringBuffer::alloc(size_t size)
|
|
|
59
60
|
|
|
60
61
|
size_t stringBuffer::re_alloc(size_t size)
|
|
61
62
|
{
|
|
63
|
+
if ((size - m_pos) < MAX_STRING_BUFFER && m_len > MAX_STRING_BUFFER)
|
|
64
|
+
{
|
|
65
|
+
m_pos = 0;
|
|
66
|
+
return m_len;
|
|
67
|
+
}
|
|
68
|
+
|
|
62
69
|
size =
|
|
63
70
|
((size / MEMORY_UNIT) + ((size % MEMORY_UNIT) ? 1 : 0)) * MEMORY_UNIT;
|
|
64
71
|
m_ptr = (char*)::realloc(m_ptr, size);
|