transactd 1.2.0-x86-mswin32-100 → 2.0.0-x86-mswin32-100
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/BUILD_UNIX-JA +46 -67
- data/BUILD_WIN-JA +106 -63
- data/CMakeLists.txt +40 -15
- data/README +219 -75
- data/README-JA +207 -76
- data/README_ORMSRCGEN +118 -0
- data/README_ORMSRCGEN-JA +115 -0
- data/bin/1.9/transactd.so +0 -0
- data/bin/2.0/transactd.so +0 -0
- data/bin/common/tdclc_32_2_0.dll +0 -0
- data/bin/common/tdclcpp_vc100_32mr_2_0.dll +0 -0
- data/build/tdclrb/bldgem/extconf.rb +28 -3
- data/build/tdclrb/gem/helper.rb +11 -1
- data/index_ja.html +15 -0
- data/source/bzs/test/tdclrb/bench_tdclcpp.rb +4 -6
- data/source/bzs/test/tdclrb/prepare.rb +15 -12
- data/source/bzs/test/tdclrb/transactd_blob_spec.rb +29 -32
- data/source/bzs/test/tdclrb/transactd_datetime_spec.rb +0 -29
- data/source/bzs/test/tdclrb/transactd_kanjischema_spec.rb +18 -19
- data/source/bzs/test/tdclrb/transactd_pool_spec.rb +107 -0
- data/source/bzs/test/tdclrb/transactd_spec.rb +734 -142
- data/transactd.gemspec +24 -16
- metadata +9 -5
- data/bin/common/tdclc_32_1_2.dll +0 -0
- data/bin/common/tdclcpp_vc100_32m_1_2.dll +0 -0
data/README
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Transactd release note
|
2
2
|
===============================================================================
|
3
3
|
Transactd is plugin which adds NoSQL access to MySQL/MariaDB.
|
4
4
|
|
@@ -13,6 +13,8 @@ This document consists of the following topics.
|
|
13
13
|
* Development of applications using Transactd clients
|
14
14
|
* Details of the test program
|
15
15
|
* Details of the benchmark program
|
16
|
+
* C++ O/R mapping source code generator
|
17
|
+
* Query executer
|
16
18
|
* About the license of Transactd Plugin
|
17
19
|
* About the license of Transactd Client
|
18
20
|
* Bug reporting, requests and questions
|
@@ -43,13 +45,13 @@ mysql>show variables like 'version';
|
|
43
45
|
```
|
44
46
|
The names of file to download are formed under following rules:
|
45
47
|
|
46
|
-
* Windows - transactd-[platform]-
|
47
|
-
* Linux - transactd-linux-x86_64-
|
48
|
+
* Windows - transactd-[platform]-2.0.0_[mysql-version].zip
|
49
|
+
* Linux - transactd-linux-x86_64-2.0.0_[mysql-version].tar.gz
|
48
50
|
|
49
51
|
[platform] is win32 or win64, [mysql-version] is mysql-5.x.x or mariadb-5.5.x.
|
50
52
|
For example, the URL for Linux-x86_64bit mysql-5.6.14 is as follows:
|
51
53
|
|
52
|
-
http://www.bizstation.jp/al/transactd/download/transactd-
|
54
|
+
http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-linux-x86_64-2.0.0_mysql-5.6.14.tar.gz
|
53
55
|
|
54
56
|
You also can download source code archive and build from it.
|
55
57
|
In this case, the source code of MySQL/MariaDB is also required.
|
@@ -72,53 +74,53 @@ administrator authority.
|
|
72
74
|
2. Copy transactd.dll to `[MySQL|MariaDB installed directory]/lib/plugin`.
|
73
75
|
If you don't know where is [MySQL|MariaDB installed directory], start MySQL
|
74
76
|
Command Line client and run following command:
|
75
|
-
```
|
76
|
-
mysql>show variables like 'plugin%';
|
77
|
-
+---------------+----------------------------------------------------+
|
78
|
-
| Variable_name | Value |
|
79
|
-
+---------------+----------------------------------------------------+
|
80
|
-
| plugin_dir | C:\Program Files\MySQL\MySQL Server 5.6\lib\Plugin |
|
81
|
-
+---------------+----------------------------------------------------+
|
82
|
-
```
|
77
|
+
```
|
78
|
+
mysql>show variables like 'plugin%';
|
79
|
+
+---------------+----------------------------------------------------+
|
80
|
+
| Variable_name | Value |
|
81
|
+
+---------------+----------------------------------------------------+
|
82
|
+
| plugin_dir | C:\Program Files\MySQL\MySQL Server 5.6\lib\Plugin |
|
83
|
+
+---------------+----------------------------------------------------+
|
84
|
+
```
|
83
85
|
|
84
86
|
3. Start MySQL Command Line client and run following command:
|
85
|
-
```
|
86
|
-
mysql>INSTALL PLUGIN transactd SONAME 'transactd.dll';
|
87
|
-
```
|
88
|
-
Installation of Transactd Plugin is finished now.
|
87
|
+
```
|
88
|
+
mysql>INSTALL PLUGIN transactd SONAME 'transactd.dll';
|
89
|
+
```
|
90
|
+
Installation of Transactd Plugin is finished now.
|
89
91
|
|
90
92
|
|
91
93
|
### Installing on Linux
|
92
94
|
1. Move to the directory where downloaded tar.gz file is.
|
93
|
-
```
|
94
|
-
|
95
|
-
```
|
95
|
+
```
|
96
|
+
cd [TargetFolder]
|
97
|
+
```
|
96
98
|
|
97
99
|
2. Extract the tar.gz file and move into it.
|
98
|
-
```
|
99
|
-
|
100
|
-
|
101
|
-
```
|
100
|
+
```
|
101
|
+
tar zxf transactd-linux-x86_64-2.0.0_mysql-5.6.14.tar.gz
|
102
|
+
cd transactd-linux-x86_64-2.0.0_mysql-5.6.14
|
103
|
+
```
|
102
104
|
|
103
105
|
3. Copy libtransactd.so to `[MySQL|MariaDB installed directory]/lib/plugin`.
|
104
106
|
If you don't know where is [MySQL|MariaDB installed directory], start MySQL
|
105
107
|
Command Line client and run following command:
|
106
|
-
```
|
107
|
-
mysql>show variables like 'plugin%';
|
108
|
-
+---------------+-----------------------------+
|
109
|
-
| Variable_name | Value |
|
110
|
-
+---------------+-----------------------------+
|
111
|
-
| plugin_dir | /usr/local/mysql/lib/plugin |
|
112
|
-
+---------------+-----------------------------+
|
113
|
-
mysql>exit
|
114
|
-
|
115
|
-
```
|
108
|
+
```
|
109
|
+
mysql>show variables like 'plugin%';
|
110
|
+
+---------------+-----------------------------+
|
111
|
+
| Variable_name | Value |
|
112
|
+
+---------------+-----------------------------+
|
113
|
+
| plugin_dir | /usr/local/mysql/lib/plugin |
|
114
|
+
+---------------+-----------------------------+
|
115
|
+
mysql>exit
|
116
|
+
cp libtransactd.so /usr/local/mysql/lib/plugin/
|
117
|
+
```
|
116
118
|
|
117
119
|
4. Start mysql client and run following command:
|
118
|
-
```
|
119
|
-
mysql>INSTALL PLUGIN transactd SONAME 'libtransactd.so';
|
120
|
-
```
|
121
|
-
Installation of Transactd Plugin is finished now.
|
120
|
+
```
|
121
|
+
mysql>INSTALL PLUGIN transactd SONAME 'libtransactd.so';
|
122
|
+
```
|
123
|
+
Installation of Transactd Plugin is finished now.
|
122
124
|
|
123
125
|
|
124
126
|
|
@@ -128,13 +130,13 @@ The Transactd clients are required to access data through Transactd Plugin.
|
|
128
130
|
Download the Transactd client binaries for your platform.
|
129
131
|
The names of file to download are formed under following rules:
|
130
132
|
|
131
|
-
* Windows - transactd-client-[platform]_with_sdk-
|
132
|
-
* Linux - transactd-client-linux-x86_64_with_sdk-
|
133
|
+
* Windows - transactd-client-[platform]_with_sdk-2.0.0.zip
|
134
|
+
* Linux - transactd-client-linux-x86_64_with_sdk-2.0.0.tar.gz
|
133
135
|
|
134
136
|
[platform] is win32 or win64.
|
135
137
|
For example, the URL for Linux-x86_64bit is as follows:
|
136
138
|
|
137
|
-
http://www.bizstation.jp/al/transactd/download/transactd-client/transactd-client-linux-x86_64_with_sdk-
|
139
|
+
http://www.bizstation.jp/al/transactd/download/transactd-client/transactd-client-linux-x86_64_with_sdk-2.0.0.tar.gz
|
138
140
|
|
139
141
|
|
140
142
|
|
@@ -142,35 +144,49 @@ Installing Transactd clients
|
|
142
144
|
-------------------------------------------------------------------------------
|
143
145
|
|
144
146
|
### Installing on Windows
|
145
|
-
1.
|
146
|
-
|
147
|
+
1. Open transactd-client-[platform]_with_sdk-2.0.0.zip from explorer.
|
148
|
+
2. Select the root folder transactd-client-[platform]-with_sdk-2.0.0 and
|
149
|
+
copy to a folder of your choice.
|
150
|
+
3. Run the "install.cmd" in the transactd-client-[platform]_with_sdk-2.0.0 folder.
|
151
|
+
This command adds "transactd-client-[platform]_with_sdk-2.0.0\bin" folder to
|
152
|
+
the system environment variables "PATH".
|
147
153
|
|
148
|
-
|
149
|
-
[custom] on setup type selection window. Installable target compiler is:
|
154
|
+
C++ clients contains the following three files which is placed in bin folder.
|
150
155
|
|
151
|
-
*
|
152
|
-
*
|
156
|
+
* tdclc_xx_[version].dll
|
157
|
+
* tdclcpp_xx_[Compiler]_[version].dll
|
158
|
+
* tdclstmt_xx_[Compiler]_[version].dll
|
153
159
|
|
154
|
-
|
160
|
+
The last two of above files are modules that are compiled with each compilers
|
161
|
+
in order to export the classes of C++. The benchmark programs and test programs
|
162
|
+
are also compiled with each compilers. These files are located in the folder
|
163
|
+
which has the compiler name in the bin folder.
|
164
|
+
You can safely delete useless files if you can identify the compiler which you
|
165
|
+
use to develop.
|
166
|
+
|
167
|
+
There are binaries which is compiled with following 7 compilers:
|
168
|
+
|
169
|
+
* Microsoft Visual studio 2010 (Include ActiveX(COM) client)
|
170
|
+
* Embarcadero C++Builder XE~XE6series
|
155
171
|
|
156
172
|
|
157
173
|
### Installing on Linux
|
158
174
|
1. Move to the directory where downloaded tar.gz file is.
|
159
|
-
```
|
160
|
-
|
161
|
-
```
|
175
|
+
```
|
176
|
+
cd [TargetFolder]
|
177
|
+
```
|
162
178
|
|
163
179
|
2. Extract the tar.gz file and move into it.
|
164
|
-
```
|
165
|
-
|
166
|
-
|
167
|
-
```
|
180
|
+
```
|
181
|
+
tar zxf transactd-client-linux-x86_64_with_sdk-2.0.0.tar.gz
|
182
|
+
cd transactd-client-linux-x86_64_with_sdk-2.0.0
|
183
|
+
```
|
168
184
|
|
169
185
|
3. Run the install script.
|
170
|
-
```
|
171
|
-
|
172
|
-
```
|
173
|
-
Installation of Transactd client is finished now.
|
186
|
+
```
|
187
|
+
./install_client.sh
|
188
|
+
```
|
189
|
+
Installation of Transactd client is finished now.
|
174
190
|
|
175
191
|
|
176
192
|
|
@@ -189,19 +205,22 @@ mysql>CREATE USER root@'192.168.0.0/255.255.255.0';
|
|
189
205
|
This operation allow root user to access database. If the root password is not set,
|
190
206
|
you MUST SET IT.
|
191
207
|
|
208
|
+
|
192
209
|
### Setup root password on Windows
|
193
210
|
Open command prompt and run following command:
|
194
211
|
```
|
195
|
-
|
212
|
+
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin" -u root password 'xxxxx'
|
196
213
|
```
|
197
214
|
(Replace xxxxx to your password.)
|
198
215
|
|
216
|
+
|
199
217
|
### Setup root password on Linux
|
200
218
|
```
|
201
|
-
|
219
|
+
/usr/local/mysql/bin/mysqladmin -u root password 'xxxxx'
|
202
220
|
```
|
203
221
|
(Replace xxxxx to your password.)
|
204
222
|
|
223
|
+
|
205
224
|
### Using other name than root
|
206
225
|
It is also possible to register another user name than "root".
|
207
226
|
In order to use another user name, please add the following to the [mysqld] section
|
@@ -217,36 +236,88 @@ Execution of test and benchmark program
|
|
217
236
|
-------------------------------------------------------------------------------
|
218
237
|
See also the detail of the test and the benchmark program topic.
|
219
238
|
|
239
|
+
Test script executes the tests in following order:
|
240
|
+
* test_tdclcpp_xx_xxm_xxx.exe A Multibyte modules test
|
241
|
+
* test_tdclcpp_xx_xxu_xxx.exe A Unicode module test(Windows only)
|
242
|
+
* bench_tdclcpp_xx.exe Benchmark of Insert read update
|
243
|
+
* bench_query_xx.exe Benchmark of aquery
|
244
|
+
* querystmtsxx.exe Test of Query executer
|
245
|
+
|
246
|
+
"querystmtsxx.exe" is executed only if the target host is localhost.
|
247
|
+
|
248
|
+
|
220
249
|
### Executing on Windows
|
221
|
-
1.
|
222
|
-
|
223
|
-
|
250
|
+
1. Move to the client directory.
|
251
|
+
```
|
252
|
+
cd transactd-client-[platform]_with_sdk-2.0.0
|
253
|
+
```
|
254
|
+
|
255
|
+
2. run test:
|
256
|
+
```
|
257
|
+
TestClient.cmd
|
258
|
+
```
|
259
|
+
|
260
|
+
Then you will be asked the host name first, please specify
|
261
|
+
the host name of the Transactd server. "localhost" will be set
|
262
|
+
automatically if you do not specify anything.
|
263
|
+
|
264
|
+
Next, select the number of the compiler to test.
|
265
|
+
Then tests and benchmarks will be executed continuously.
|
266
|
+
|
267
|
+
3. run ActiveX(COM) test:
|
268
|
+
```
|
269
|
+
TestClient_ATL.cmd
|
270
|
+
```
|
271
|
+
|
272
|
+
Then you will be asked the host name first, please specify
|
273
|
+
the host name of the Transactd server. "localhost" will be set
|
274
|
+
automatically if you do not specify anything.
|
275
|
+
|
224
276
|
|
225
277
|
### Executing on Linux
|
226
278
|
1. Move to the client directory.
|
227
|
-
```
|
228
|
-
|
229
|
-
```
|
279
|
+
```
|
280
|
+
cd transactd-client-linux-x86_64_with_sdk-2.0.0
|
281
|
+
```
|
230
282
|
|
231
283
|
2. run test:
|
232
|
-
```
|
233
|
-
./
|
234
|
-
```
|
284
|
+
```
|
285
|
+
./exec_test_all.sh
|
286
|
+
```
|
287
|
+
|
288
|
+
Then you will be asked the host name first, please specify
|
289
|
+
the host name of the Transactd server. "localhost" will be set
|
290
|
+
automatically if you do not specify anything.
|
235
291
|
|
236
292
|
|
237
293
|
|
238
294
|
Development of applications using Transactd clients
|
239
295
|
-------------------------------------------------------------------------------
|
240
|
-
Refer to the
|
241
|
-
using Transactd clients.
|
296
|
+
Refer to the SDK documents to develop applications with Transactd clients.
|
242
297
|
|
243
298
|
http://www.bizstation.jp/ja/transactd/client/sdk/doc/
|
244
299
|
|
300
|
+
There are some simple sample codes in ($installdir)/source/bzs/example.
|
301
|
+
|
302
|
+
You can build them with project files in build/example (Windows) or
|
303
|
+
make_example.sh script (Linux).
|
304
|
+
|
305
|
+
If you compile with the 64Bit version of the Visual C++ 2010 Express edittion,
|
306
|
+
change option to "Windows7.1SDK" from "v100" in
|
307
|
+
[Options] - [platform toolset] - [configuration properties] - [General].
|
308
|
+
|
309
|
+
In the C++ Builder, the boost which has been supplied with the compiler
|
310
|
+
are required. In [Tools] - [Options] - [Environment Options] - [C++ Options] -
|
311
|
+
[directory and path] - [System Include Path], add the following path:
|
312
|
+
|
313
|
+
* For 32Bit: $(CG_BOOST_ROOT)
|
314
|
+
* For 64Bit: $(CG_64_BOOST_ROOT)
|
315
|
+
|
245
316
|
|
246
317
|
|
247
318
|
Details of the test program
|
248
319
|
-------------------------------------------------------------------------------
|
249
|
-
The executable
|
320
|
+
The executable files whose name starts with test_ is test program.
|
250
321
|
|
251
322
|
Please be sure to run test with only an instance. It will fail if test runs two or
|
252
323
|
more instances.
|
@@ -277,8 +348,14 @@ character-set-server=utf8
|
|
277
348
|
|
278
349
|
Details of the benchmark program
|
279
350
|
-------------------------------------------------------------------------------
|
280
|
-
|
281
|
-
|
351
|
+
There are two types in the benchmark program. One of them is the benchmark which
|
352
|
+
read SQL-like query (bench_query_xxx).
|
353
|
+
Another is basic CRUD operations benchmark (bench_tdclcpp_xxx).
|
354
|
+
|
355
|
+
bench_tdclcpp_xxx can be executed in multiple instances, by changing the
|
356
|
+
processNumber in command line arguments.
|
357
|
+
|
358
|
+
The command line options are:
|
282
359
|
```
|
283
360
|
bench_tdclcpp_xxx.exe databaseUri processNumber functionNumber
|
284
361
|
|
@@ -303,9 +380,76 @@ bench_tdclcpp_xxx.exe databaseUri processNumber functionNumber
|
|
303
380
|
| | 8: update in transaction. 20rec x 1000times |
|
304
381
|
|----------------|--------------------------------------------------------|
|
305
382
|
ex)
|
306
|
-
|
383
|
+
bench_tdclcpp_bc200_64u.exe "tdap://localhost/test?dbfile=test.bdf" 0 -1
|
307
384
|
```
|
308
385
|
|
386
|
+
bench_query_xxx measures the speed of getting a similar result with
|
387
|
+
the following SQL:
|
388
|
+
```
|
389
|
+
select
|
390
|
+
`user`.`id`
|
391
|
+
,`user`.`name`
|
392
|
+
,`extention`.`comment`
|
393
|
+
,`groups`.`name` as `group_name`
|
394
|
+
from
|
395
|
+
`user` INNER JOIN `extention`
|
396
|
+
ON `user`.`id` = `extention`.`id`
|
397
|
+
LEFT JOIN `groups`
|
398
|
+
ON `user`.`group` = `groups`.`code`
|
399
|
+
where
|
400
|
+
`user`.`id` > 0 and `user`.`id` <= 15000;
|
401
|
+
|
402
|
+
```
|
403
|
+
The command line options are:
|
404
|
+
```
|
405
|
+
bench_query_xxx createdb hostname type n
|
406
|
+
|----------------|--------------------------------------------------------|
|
407
|
+
| option name | description |
|
408
|
+
|----------------|--------------------------------------------------------|
|
409
|
+
| createdb | Specify 0 or 1 to determine whether or not to create a |
|
410
|
+
| | new test database. The default is 1. |
|
411
|
+
|----------------|--------------------------------------------------------|
|
412
|
+
| hostname | Specify the name or IP address of the location database|
|
413
|
+
| | .The default is localhost. |
|
414
|
+
|----------------|--------------------------------------------------------|
|
415
|
+
| type | Specific numbers, the contents of the query. |
|
416
|
+
| | The default is 15. |
|
417
|
+
| | 1: Read 15,000 records from the user table |
|
418
|
+
| | 3: JOIN the comment field of the extention table on the|
|
419
|
+
| | results of the 1 |
|
420
|
+
| | 7: JOIN the name of the table groups the results of the|
|
421
|
+
| | 3 |
|
422
|
+
| | 5: JOIN the name of the groups on the results of the 1 |
|
423
|
+
| |+8: Display the execution progress of repeat |
|
424
|
+
|----------------|--------------------------------------------------------|
|
425
|
+
| n | Specifies the number of executions of the query |
|
426
|
+
| | specified by type. The default is 100. |
|
427
|
+
|----------------|--------------------------------------------------------|
|
428
|
+
ex)
|
429
|
+
bench_query_xxx 0 localhost 15 100
|
430
|
+
```
|
431
|
+
|
432
|
+
|
433
|
+
|
434
|
+
C++ O/R mapping source code generator
|
435
|
+
-------------------------------------------------------------------------------
|
436
|
+
ormsrcgen (32 | 64) is a source code generator for C++ O/R mapping. You can
|
437
|
+
use this program to generate the model class from the database definition if
|
438
|
+
you want to use the O/R mapping in C++.
|
439
|
+
|
440
|
+
Please refer to the README_ORMSRCGEN.md.
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
Query executer
|
445
|
+
-------------------------------------------------------------------------------
|
446
|
+
querystmts is a program that execute the Transactd query that has been described
|
447
|
+
in XML file. If you pass an XML file to querystmts, it executes the queries and
|
448
|
+
outputs the result to the stdout.
|
449
|
+
|
450
|
+
To make Transactd query XML file(s), we need the querybuilder program.
|
451
|
+
But querybuilder has not been released yet. It will be released soon.
|
452
|
+
|
309
453
|
|
310
454
|
|
311
455
|
About the license of Transactd Plugin
|