transactd 2.4.5 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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);
|