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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c306f79b098fa2ff8dde07e9829cb582639de699
|
4
|
+
data.tar.gz: 29948dfa51e68d2a39c6d13ef4b45b9c3f348a79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1eff22d4306982c12033a09670ea6977faadfc36791ed10f4a3806536dfcaafe63bbe6a9aa169f13e319e19ad647be2b7ea0326c4a89b2c5edfdfe08870b441e
|
7
|
+
data.tar.gz: db58d0d6ed908c9ca10adad8db4e09dd890ecae48dd5c0d80cbb165b35ec54f710fb6d54c3d87785dd691d100c9847e548f47d929fee52fe381a63224e4c4e97
|
data/CMakeLists.txt
CHANGED
@@ -105,7 +105,7 @@ if(WITH_TRANSACTD_CLIENTS)
|
|
105
105
|
else()
|
106
106
|
set(TDCL_CPP_CHARSET m)
|
107
107
|
endif()
|
108
|
-
foreach(srcname tdclcpp test_tdcl bench_td bench_query tdclstmt querystmts ormsrcgen)
|
108
|
+
foreach(srcname tdclcpp test_tdcl test_tdclcpp_v3 bench_td bench_query tdclstmt querystmts ormsrcgen)
|
109
109
|
subdirs("build/${srcname}")
|
110
110
|
endforeach()
|
111
111
|
endif()
|
data/README-JA.md
CHANGED
@@ -1,564 +1,87 @@
|
|
1
|
-
Transactd
|
1
|
+
Transactd
|
2
2
|
===============================================================================
|
3
|
-
Transactd
|
3
|
+
Transactdは、MySQL/MariaDB内部のデータベースアクセスメソッドを直接操作すること
|
4
|
+
で、柔軟で高速なデータベース処理を提供します。
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
* Transactd Pluginバイナリの準備
|
8
|
-
* Transactd Pluginのインストール
|
9
|
-
* Transactdクライアントバイナリの準備
|
10
|
-
* Transactdクライアントのインストール
|
11
|
-
* Transactdへのアクセス可能ホストの設定
|
12
|
-
* テストとベンチマークの起動
|
13
|
-
* アプリケーションの開発
|
14
|
-
* Testプログラム
|
15
|
-
* ベンチマークプログラム
|
16
|
-
* C++ O/Rマッピングソースコードジェネレータ
|
17
|
-
* クエリーエグゼキューター
|
18
|
-
* Transactd Pluginのライセンス
|
19
|
-
* Transactdクライアントのライセンス
|
20
|
-
* バグ報告・要望・質問など
|
21
|
-
* 関連著作権の表示
|
6
|
+
一般的にNoSQLにはトランザクションが使えないなどの制限がありますが、
|
7
|
+
TransactdはSQLと同じようにトランザクション処理を行うことができます。
|
22
8
|
|
9
|
+
SQLでの操作は、サーバー内でSQL構文を解析して行単位でのアクセスメソッドに分解し、
|
10
|
+
処理を行って結果を返します。
|
23
11
|
|
12
|
+
Transactdは、サーバー内部で行われる行単位の処理をクライアント側でコントロール
|
13
|
+
できるようにしたものです。APIはとてもシンプルです。
|
24
14
|
|
25
|
-
|
26
|
-
|
27
|
-
Transactdはプラグインとして動作するサーバー側モジュールとクライアント側で動作す
|
28
|
-
るクライアント側モジュールから構成されます。
|
29
|
-
以降はこれらを区別して、サーバー側をTransactd Plugin、クライアント側をTransactd
|
30
|
-
クライアントと呼びます。
|
31
|
-
Transactdは、常に更新されています。このテキストもこのリリースの最新の情報に更新
|
32
|
-
されています。今回のリリースでの変更点は RELEASE_NOTE-JA.mdを参照してください。
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
Transactd Pluginバイナリの準備
|
37
|
-
-------------------------------------------------------------------------------
|
38
|
-
MySQL/MariaDBのバージョンを確認し、それに合ったビルド済Transactdをダウンロードし
|
39
|
-
ます。バージョンの確認はMySQLクライントを起動し以下のコマンドを入力します。
|
40
|
-
```
|
41
|
-
show variables like 'version';
|
42
|
-
+---------------+--------+
|
43
|
-
| Variable_name | Value |
|
44
|
-
+---------------+--------+
|
45
|
-
| version | 5.6.14 |
|
46
|
-
+---------------+--------+
|
47
|
-
```
|
48
|
-
ダウンロードするファイルは
|
49
|
-
|
50
|
-
* Windowsの場合 transactd-[platform]-2.4.2_[mysql-version].zip
|
51
|
-
* Linuxの場合 transactd-linux-x86_64-2.4.2_[mysql-version].tar.gz
|
52
|
-
|
53
|
-
といった形式です。
|
54
|
-
[platform]はwin32またはwin64、[mysql-version]はmysql-5.x.xまたはmariadb-5.5.xです。
|
55
|
-
たとえば、Linux-x86_64bit mysql-5.6.14用の完全なURLは以下の通りです。
|
56
|
-
|
57
|
-
http://www.bizstation.jp/al/transactd/download/transactd-2.4.2/transactd-linux-x86_64-2.4.2_mysql-5.6.14.tar.gz
|
58
|
-
|
59
|
-
また、ソースをダウンロードしてビルドすることもできます。その場合は、
|
60
|
-
MySQL/MariaDBのソースコードも必要です。ビルド方法はソースコード内の
|
61
|
-
BUILD_WIN-{lang}.mdまたはBUILD_UNIX-{lang}.mdをご覧ください。
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
Transactd Pluginのインストール
|
66
|
-
-------------------------------------------------------------------------------
|
67
|
-
MySQL/MariaDBのバイナリに変更を加えることなく、所定の位置にプラグインのファイル
|
68
|
-
をコピーするだけでインストールできます。MySQL/MariaDBサーバーは動作している状態
|
69
|
-
で作業を進めます。また、作業は管理者権限で進めます。
|
70
|
-
|
71
|
-
### Windowsでのインストール
|
72
|
-
1. ダウンロードしたzipファイルをエクスプローラで開きます。中にtransactd.dllがある
|
73
|
-
ことを確認します。
|
74
|
-
|
75
|
-
2. [MySQL|MariaDBインストールフォルダ]/lib/pluginに、transactd.dllをコピーします。
|
76
|
-
MySQL|MariaDBインストールフォルダが不明な場合は、MySQL Command Line clientを
|
77
|
-
起動し以下のコマンドでplugin_dirを確認してください。
|
78
|
-
```
|
79
|
-
mysql>show variables like 'Plugin%';
|
80
|
-
+---------------+----------------------------------------------------+
|
81
|
-
| Variable_name | Value |
|
82
|
-
+---------------+----------------------------------------------------+
|
83
|
-
| plugin_dir | C:\Program Files\MySQL\MySQL Server 5.6\lib\plugin |
|
84
|
-
+---------------+----------------------------------------------------+
|
85
|
-
```
|
86
|
-
|
87
|
-
3. MySQL Command Line clientを起動し、以下のコマンドを実行します。
|
88
|
-
```
|
89
|
-
mysql>INSTALL PLUGIN transactd SONAME 'transactd.dll';
|
90
|
-
```
|
91
|
-
これでPluginのインストールは終了です。
|
92
|
-
|
93
|
-
|
94
|
-
### Linuxでのインストール
|
95
|
-
1. ダウンロードしたtar.gzのあるフォルダに移動します。
|
96
|
-
```
|
97
|
-
cd [TargetFolder]
|
98
|
-
```
|
99
|
-
|
100
|
-
2. ダウンロードしたtar.gzを解凍し、解凍したフォルダに移動します。
|
101
|
-
```
|
102
|
-
tar zxf transactd-linux-x86_64-2.4.2_mysql-5.6.14.tar.gz
|
103
|
-
cd transactd-linux-x86_64-2.4.2_mysql-5.6.14
|
104
|
-
```
|
105
|
-
|
106
|
-
3. [MySQL|MariaDBインストールフォルダ]/lib/pluginに、libtransactd.soをコピー
|
107
|
-
します。MySQL|MariaDBインストールが不明な場合は、mysqlを起動し以下の
|
108
|
-
コマンドでplugin_dirを確認してください。
|
109
|
-
```
|
110
|
-
mysql>show variables like 'plugin%';
|
111
|
-
+---------------+-----------------------------+
|
112
|
-
| Variable_name | Value |
|
113
|
-
+---------------+-----------------------------+
|
114
|
-
| plugin_dir | /usr/local/mysql/lib/plugin |
|
115
|
-
+---------------+-----------------------------+
|
116
|
-
mysql>exit
|
117
|
-
cp libtransactd.so /usr/local/mysql/lib/plugin/
|
118
|
-
```
|
119
|
-
|
120
|
-
4. mysqlを起動し、以下のコマンドを実行します。
|
121
|
-
```
|
122
|
-
mysql>INSTALL PLUGIN transactd SONAME 'libtransactd.so';
|
123
|
-
```
|
124
|
-
これでPluginのインストールは終了です。
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
Transactdクライアントバイナリの準備
|
129
|
-
-------------------------------------------------------------------------------
|
130
|
-
Transactd Pluginを介してデータにアクセスするにはTransactdクライアントが必要です。
|
131
|
-
プラットフォームに合ったビルド済Transactdクライアントをダウンロードします。
|
132
|
-
ダウンロードするファイルは
|
133
|
-
|
134
|
-
* Windowsの場合 transactd-client-[platform]_with_sdk-2.4.2.zip
|
135
|
-
* Linuxの場合 transactd-client-linux-x86_64_with_sdk-2.4.2.tar.gz
|
136
|
-
|
137
|
-
といった形式です。[platform]はwin32またはwin64です。
|
138
|
-
たとえば、LINUXの完全なURLは以下の通りです。
|
139
|
-
|
140
|
-
http://www.bizstation.jp/al/transactd/download/transactd-client/transactd-client-linux-x86_64_with_sdk-2.4.2.tar.gz
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
Transactdクライアントのインストール
|
145
|
-
-------------------------------------------------------------------------------
|
146
|
-
|
147
|
-
### Windowsでのインストール
|
148
|
-
1. ダウンロードしたtransactd-client-[platform]_with_sdk-2.4.2.zipを開きます。
|
149
|
-
2. ルートフォルダーのtransactd-client-[platform]_with_sdk-2.4.2ごと適当なフォルダに
|
150
|
-
コピーします。
|
151
|
-
3. transactd-client-[platform]_with_sdk-2.4.2直下にあるinstall.cmdを実行します。
|
152
|
-
これによりtransactd-client-[platform]_with_sdk-2.4.2\binフォルダをシステム環境変数
|
153
|
-
PATHに追加します。
|
154
|
-
|
155
|
-
C++クライアントは binフォルダに配置された以下の3つのDLLからなります。
|
156
|
-
|
157
|
-
* tdclc_xx_[version].dll
|
158
|
-
* tdclcpp_xx_[Compiler]_[version].dll
|
159
|
-
* tdclstmt_xx_[Compiler]_[version].dll
|
160
|
-
|
161
|
-
このうち下の2つはC++のクラスをエクスポートするための、コンパイラごとに異なった
|
162
|
-
モジュールです。また、それを利用したテストやベンチマーク、その他のプログラムも
|
163
|
-
コンパイラごとになっていますです。それらはbin配下にコンパイラの名前のフォルダに
|
164
|
-
配置されています。これらのバイナリーはMicrosoft Visual studio 2010にてビルドされ
|
165
|
-
ています。
|
166
|
-
Embarcadero C++Builderで使用する場合は、下記をご覧ください。
|
167
|
-
http://www.bizstation.jp/ja/transactd/documents/BUILD_WIN.html
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
### Linuxでのインストール
|
172
|
-
1. ダウンロードしたtar.gzのあるフォルダに移動します。
|
173
|
-
```
|
174
|
-
cd [TargetFolder]
|
175
|
-
```
|
176
|
-
|
177
|
-
2. ダウンロードしたtar.gzを解凍し、解凍したフォルダに移動します。
|
178
|
-
```
|
179
|
-
tar zxf transactd-client-linux-x86_64_with_sdk-2.4.2.tar.gz
|
180
|
-
cd transactd-client-linux-x86_64_with_sdk-2.4.2
|
181
|
-
```
|
182
|
-
|
183
|
-
3. インストールスクリプトを実行します。
|
184
|
-
```
|
185
|
-
./install_client.sh
|
186
|
-
```
|
187
|
-
これでクライアントのインストールは終了です。
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
Transactdへのアクセス可能ホストの設定
|
192
|
-
-------------------------------------------------------------------------------
|
193
|
-
Transactdへアクセスするには、事前にMySQLのuserテーブルにroot@[host]レコードを
|
194
|
-
登録しておく必要があります。
|
195
|
-
|
196
|
-
* ローカルからのアクセスであれば`root@127.0.0.1`を登録します。
|
197
|
-
* その他のホスト(たとえば192.168.0.3)であれば`root@192.168.0.3`を登録します。
|
198
|
-
* 192.168.0.xすべてであれば`root@192.168.0.0/255.255.255.0`とすることもできます。
|
199
|
-
|
200
|
-
登録はMySQL Command Line clientを起動し以下のように入力します。
|
201
|
-
```
|
202
|
-
mysql>CREATE USER root@'192.168.0.0/255.255.255.0';
|
203
|
-
```
|
204
|
-
この操作はrootでのアクセスを可能にするので、rootのパスワードが未設定の場合は、
|
205
|
-
必ず設定してください。
|
206
|
-
|
207
|
-
|
208
|
-
### Windowsでのrootパスワードの設定
|
209
|
-
コマンドプロンプトを開きます。
|
210
|
-
```
|
211
|
-
"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqladmin" -u root password 'xxxxx'
|
212
|
-
```
|
213
|
-
(xxxxxは実際のパスワードに置き換えてください)
|
214
|
-
|
215
|
-
|
216
|
-
### Linuxでのrootパスワードの設定
|
217
|
-
```
|
218
|
-
/usr/local/mysql/bin/mysqladmin -u root password 'xxxxx'
|
219
|
-
```
|
220
|
-
(xxxxxは実際のパスワードに置き換えてください)
|
221
|
-
|
222
|
-
|
223
|
-
### root以外のユーザー名を使用する
|
224
|
-
また、rootでのホスト設定ではなく別のユーザー名での登録も可能です。
|
225
|
-
別のユーザー名にするには、my.cnfまたはmy.iniの[mysqld]セクションに、
|
226
|
-
```
|
227
|
-
loose-transactd_hostcheck_username = yourUserName
|
228
|
-
```
|
229
|
-
を加えてください。yourUserNameは任意のユーザー名にできます。
|
230
|
-
|
231
|
-
### ファイアーウォールの設定
|
232
|
-
TransactdプラグインはデフォルトでTCPポート8610を使用します。もし、このポートが
|
233
|
-
ブロックされている場合は、クライアントホストからアクセスできるように設定します。
|
15
|
+
例えば、`users`テーブルのすべてのレコードを読み取り`id`と`name`を表示するコードは
|
16
|
+
以下のようになります。
|
234
17
|
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
を実行できます。MySQL/MariaDBサーバーは動作している状態で作業を進めます。
|
239
|
-
|
240
|
-
テストとベンチマークの詳しい内容は、このトピックス以降にあるそれぞれのトピックス
|
241
|
-
を参照してください。
|
242
|
-
|
243
|
-
テストスクリプトは、以下の内容を順に実行します。
|
244
|
-
* test_tdclcpp_xx_xxm_xxx.exe マルチバイト版テスト
|
245
|
-
* test_tdclcpp_xx_xxu_xxx.exe ユニコード版テスト(Windowsのみ)
|
246
|
-
* bench_tdclcpp_xx.exe Insert read update ベンチマーク
|
247
|
-
* bench_query_xx.exe クエリーのベンチマーク
|
248
|
-
* querystmtsxx.exe コマンドライン クエリー実行モジュール
|
249
|
-
|
250
|
-
最後の コマンドライン クエリー実行モジュールは、ターゲットhostが localhost の場合
|
251
|
-
にのみ実行されます。
|
252
|
-
|
253
|
-
|
254
|
-
### Windowsでの起動
|
255
|
-
1. クライアントのインストールで解凍したフォルダに移動します
|
256
|
-
```
|
257
|
-
cd transactd-client-[platform]_with_sdk-2.4.2
|
258
|
-
```
|
259
|
-
|
260
|
-
2. テストの起動
|
261
|
-
```
|
262
|
-
TestClient.cmd
|
263
|
-
```
|
264
|
-
|
265
|
-
最初にホスト名を聞かれるので、Transactdサーバーのホスト名を指定します。
|
266
|
-
何も指定しない場合は localhostが自動で設定されます。
|
267
|
-
|
268
|
-
次に、テストするコンパイラーを番号で選択します。
|
269
|
-
テストおよびベンチマークなどが連続して実行されます。
|
270
|
-
|
271
|
-
3. ActiveX(COM)のテストの起動
|
272
|
-
```
|
273
|
-
TestClient_ATL.cmd
|
274
|
-
```
|
275
|
-
|
276
|
-
最初にホスト名を聞かれるので、Transactdサーバーのホスト名を指定します。
|
277
|
-
何も指定しない場合は localhostが自動で設定されます。
|
278
|
-
テストおよびベンチマークなどが連続して実行されます。
|
279
|
-
|
280
|
-
|
281
|
-
### Linuxでの起動
|
282
|
-
1. クライアントのインストールで解凍したフォルダに移動します
|
283
|
-
```
|
284
|
-
cd transactd-client-linux-x86_64_with_sdk-2.4.2
|
285
|
-
```
|
286
|
-
|
287
|
-
2. テストの起動
|
288
|
-
```
|
289
|
-
./exec_test_all.sh
|
290
|
-
```
|
291
|
-
|
292
|
-
最初にホスト名を聞かれるので、Transactdサーバーのホスト名を指定します。
|
293
|
-
何も指定しない場合は localhostが自動で設定されます。
|
294
|
-
テストおよびベンチマークなどが連続して実行されます。
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
アプリケーションの開発
|
299
|
-
-------------------------------------------------------------------------------
|
300
|
-
Transactdクライアントによるアプリケーションの開発は以下のSDKドキュメントを
|
301
|
-
参照してください。
|
302
|
-
|
303
|
-
http://www.bizstation.jp/ja/transactd/client/sdk/doc/
|
304
|
-
|
305
|
-
source/bzs/exampleフォルダに、簡単なサンプルコードがあります。
|
306
|
-
|
307
|
-
build/exampleフォルダにコンパイラに応じたプロジェクトファイル(Windows)があります。
|
308
|
-
または、make_example.shスクリプト(Linux)でこれらをビルドできます。(Linuxでのビルド
|
309
|
-
の際にはMakefileのTI_BOOST_ROOTの値をインストールされたboostのフォルダに変更してく
|
310
|
-
ださい。)
|
311
|
-
|
312
|
-
Visual C++ 2010のExpress版 64Bitでコンパイルする際は、各プロジェクトの[オプション]
|
313
|
-
-[構成プロパティー]-[全般]-[プラットフォームツールセット]を"v100"から"Windows7.1SDK"
|
314
|
-
に変更してください。また、システム環境変数に TI_BOOST_ROOT_32 および TI_BOOST_ROOT_64
|
315
|
-
という変数を追加し、32bitと64bitのフォルダのパスを値として設定します。
|
316
|
-
|
317
|
-
例
|
318
|
-
* 64bitの場合 TI_BOOST_ROOT_64 = C:\boost\boost_1_58_0
|
319
|
-
* 32bitの場合 TI_BOOST_ROOT_32 = C:\boost\boost_1_58_0
|
320
|
-
|
321
|
-
C++ Builderの場合は、事前にコンパイラ付属のboostをインストールが必要です。また、
|
322
|
-
[ツール]-[オプション]-[環境オプション]-[C++ オプション]-[パスとディレクトリ]の
|
323
|
-
[システムインクルードパス]に以下の変数を追加します。
|
324
|
-
|
325
|
-
* 32Bitの場合 $(CG_BOOST_ROOT)
|
326
|
-
* 64Bitの場合 $(CG_64_BOOST_ROOT)
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
Testプログラム
|
331
|
-
-------------------------------------------------------------------------------
|
332
|
-
test_で始まる実行ファイルはTestプログラムです。
|
333
|
-
|
334
|
-
実行は必ず1つのプログラムのインスタンスで行ってください。複数のインスタンスで
|
335
|
-
同時にtestを行うと失敗します。また、現在のバージョンではdrop databaseの際に他の
|
336
|
-
クライアントが動作しているとロックされたまま解放できない場合があります。そのよう
|
337
|
-
な場合はサーバーを再起動するか、MySQLコマンドラインクライアントにて
|
338
|
-
```
|
339
|
-
mysql>drop database test;
|
340
|
-
```
|
341
|
-
を実行しデータベースを事前に削除してください。
|
342
|
-
|
343
|
-
コマンドライン引数に `--show_progress=yes` を追加すると下記のように実行状況をプロ
|
344
|
-
グレス表示します。
|
345
|
-
```
|
346
|
-
0% 10 20 30 40 50 60 70 80 90 100%
|
347
|
-
|----|----|----|----|----|----|----|----|----|----|
|
348
|
-
************
|
349
|
-
```
|
350
|
-
|
351
|
-
また、`--host=xxxxx` とするとテストを実行するサーバーを指定できます。
|
18
|
+
```ruby
|
19
|
+
db = Transactd::Database.new()
|
20
|
+
db.open('tdap://servername/dbname?dbfile=transactd_schema')
|
352
21
|
|
353
|
-
|
354
|
-
ります。これらが成功するには、my.cnfにてcharacter-set-serverがcp932またはutf8に
|
355
|
-
設定されている必要があります。
|
356
|
-
```
|
357
|
-
[mysqld]
|
358
|
-
character-set-server=utf8
|
359
|
-
```
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
ベンチマークプログラム
|
364
|
-
-------------------------------------------------------------------------------
|
365
|
-
ベンチマークプログラムは、基本的なCRUDオペレーションのベンチマーク(bench_tdclcpp_xxx)
|
366
|
-
と、SQLライクな読み取りクエリーのベンチマーク(bench_query_xxx)の2種類あります。
|
367
|
-
|
368
|
-
bench_tdclcpp_xxxベンチマークプログラムは、コマンドライン引数のprocessNumberを
|
369
|
-
変えることで複数のインスタンスを同時に実行して計測することができます。
|
370
|
-
bench_tdclcpp_xxxプログラムのコマンドラインオプションは以下の通りです。
|
371
|
-
|
372
|
-
```
|
373
|
-
bench_tdclcpp_xxx.exe databaseUri processNumber functionNumber
|
22
|
+
tb = db.openTable('users', Transactd::TD_OPEN_NORMAL)
|
374
23
|
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
| processNumber | 追加するデータの範囲を0からnで指定します。 |
|
381
|
-
| | 複数インスタンスによる同時実行の際に異なる番号を指定 |
|
382
|
-
| | することで、処理するレコードが競合しないようにします。 |
|
383
|
-
|----------------|--------------------------------------------------------|
|
384
|
-
| functionNumber | テストする処理を番号で指定します。 |
|
385
|
-
| | 処理は以下の通りです。 |
|
386
|
-
| | -1: all function |
|
387
|
-
| | 0: Insert |
|
388
|
-
| | 1: Insert in transaction. 20rec x 1000times |
|
389
|
-
| | 2: Insert by bulkmode. 20rec x 1000times |
|
390
|
-
| | 3: read each record |
|
391
|
-
| | 4: read each record with snapshot |
|
392
|
-
| | 5: read range. 20rec x 1000times |
|
393
|
-
| | 6: read range with snapshot . 20rec x 1000times |
|
394
|
-
| | 7: update |
|
395
|
-
| | 8: update in transaction. 20rec x 1000times |
|
396
|
-
|----------------|--------------------------------------------------------|
|
397
|
-
ex)
|
398
|
-
bench_tdclcpp_bc200_64u.exe "tdap://localhost/test?dbfile=test.bdf" 0 -1
|
399
|
-
```
|
24
|
+
tb.seekFirst()
|
25
|
+
while (tb.stat() == 0) do
|
26
|
+
puts('id = ' + tb.getFVint('id').to_s() + ', name = ' + tb.getFVstr('name'))
|
27
|
+
tb.seekNext()
|
28
|
+
end
|
400
29
|
|
401
|
-
|
402
|
-
|
30
|
+
tb.close()
|
31
|
+
db.close()
|
403
32
|
```
|
404
|
-
select
|
405
|
-
`user`.`id`
|
406
|
-
,`user`.`name`
|
407
|
-
,`extention`.`comment`
|
408
|
-
,`groups`.`name` as `group_name`
|
409
|
-
from
|
410
|
-
`user` INNER JOIN `extention`
|
411
|
-
ON `user`.`id` = `extention`.`id`
|
412
|
-
LEFT JOIN `groups`
|
413
|
-
ON `user`.`group` = `groups`.`code`
|
414
|
-
where
|
415
|
-
`user`.`id` > 0 and `user`.`id` <= 15000;
|
416
33
|
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
bench_query_xxx createdb hostname type n
|
421
|
-
|----------------|--------------------------------------------------------|
|
422
|
-
| パラメータ | 内容 |
|
423
|
-
|----------------|--------------------------------------------------------|
|
424
|
-
| createdb | テスト用データベースを新しく作成するかどうかを 1 または|
|
425
|
-
| | 0で指定します。デフォルトは1です。 |
|
426
|
-
|----------------|--------------------------------------------------------|
|
427
|
-
| hostname | テストを行うホストをIPアドレスまたは名前で指定します。 |
|
428
|
-
| | デフォルトは localhostです。 |
|
429
|
-
|----------------|--------------------------------------------------------|
|
430
|
-
| type | クエリーの内容を番号で指定します。デフォルトは15です。 |
|
431
|
-
| | 1: userテーブルから15000レコードの取得 |
|
432
|
-
| | 3: 1の結果にextentionテーブルのcommentフィールドをJOIN |
|
433
|
-
| | 7: 3の結果にgroupsテーブルのnameをJOIN |
|
434
|
-
| | 5: 1の結果にgroupsテーブルのnameをJOIN |
|
435
|
-
| |+8: 繰り返しの実行プログレスを.で表示 |
|
436
|
-
|----------------|--------------------------------------------------------|
|
437
|
-
| n | typeで指定したクエリの実行回数を指定します。 |
|
438
|
-
| | デフォルトは100です。 |
|
439
|
-
|----------------|--------------------------------------------------------|
|
440
|
-
ex)
|
441
|
-
bench_query_xxx 0 localhost 15 100
|
442
|
-
```
|
34
|
+
この他にも便利なAPIが用意されています。[チュートリアル](
|
35
|
+
http://www.bizstation.jp/ja/transactd/documents/tutorial.html)で主な機能を概観
|
36
|
+
することができます。
|
443
37
|
|
444
38
|
|
445
39
|
|
446
|
-
|
40
|
+
インストール
|
447
41
|
-------------------------------------------------------------------------------
|
448
|
-
|
449
|
-
|
450
|
-
|
42
|
+
Transactdはプラグインとして動作するサーバー側モジュールと、クライアント側で動作
|
43
|
+
するクライアント側モジュールから構成されます。
|
44
|
+
サーバー側をTransactd Plugin、クライアント側をTransactdクライアントと呼びます。
|
451
45
|
|
452
|
-
|
46
|
+
ソースコードからビルドすることも、ビルド済みバイナリを使用することもできます。
|
47
|
+
ビルド・ダウンロードおよびインストールの方法は、[Transactd インストールガイド](
|
48
|
+
http://www.bizstation.jp/ja/transactd/documents/install_guide.html)を参照して
|
49
|
+
ください。
|
453
50
|
|
454
51
|
|
455
52
|
|
456
|
-
|
53
|
+
ドキュメント等
|
457
54
|
-------------------------------------------------------------------------------
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
55
|
+
* [Transactd リリースノート](
|
56
|
+
https://github.com/bizstation/transactd/blob/master/RELEASE_NOTE-JA.md)
|
57
|
+
* [Transactd プロダクトページ](http://www.bizstation.jp/ja/transactd/)
|
58
|
+
* [Transactd ドキュメント](http://www.bizstation.jp/ja/transactd/documents/)
|
59
|
+
* [Transactd Utilities ガイド](
|
60
|
+
http://www.bizstation.jp/ja/transactd/documents/utilities_guide.html)
|
61
|
+
* [チュートリアル](http://www.bizstation.jp/ja/transactd/documents/tutorial.html)
|
62
|
+
* [リファレンス](http://www.bizstation.jp/ja/transactd/client/sdk/doc/)
|
63
|
+
* リポジトリ内の`source/bzs/example`に簡単なサンプルコードがあります。
|
463
64
|
|
464
65
|
|
465
66
|
|
466
|
-
|
67
|
+
ライセンス
|
467
68
|
-------------------------------------------------------------------------------
|
468
69
|
MySQL/MariaDBのGPLv2ライセンスにより、Transactd PluginはGeneral Public License
|
469
70
|
(GPLv2)のもとで利用可能です。ライセンス情報はCOPYINGをご覧ください。
|
470
71
|
|
471
|
-
|
472
|
-
|
473
|
-
Transactdクライアントのライセンス
|
474
|
-
-------------------------------------------------------------------------------
|
475
72
|
TransactdクライアントのライセンスはGeneral Public License (GPLv2)と商用ライセ
|
476
|
-
|
73
|
+
ンスのいずれかから選ぶことができます。
|
477
74
|
|
478
|
-
|
479
|
-
|
480
|
-
制限を受けたくない場合は、商用ライセンスをご検討ください。
|
481
|
-
* 商用ライセンスの購入については、[BizStationホームページ](
|
482
|
-
http://www.bizstation.jp/ja/transactd/support/)をご覧ください。
|
75
|
+
GPLv2以外のオープンソースプロジェクト向けの[TransactdクライアントOSS例外規定](
|
76
|
+
http://www.bizstation.jp/ja/transactd/support/ossex.html)も参照してください。
|
483
77
|
|
484
|
-
|
485
|
-
|
486
|
-
|
78
|
+
* [Transactd ライセンス](http://www.bizstation.jp/ja/transactd/support/license.html)
|
79
|
+
* [Transactd ライセンスFAQ](
|
80
|
+
http://www.bizstation.jp/ja/transactd/support/license_faq.html)
|
487
81
|
|
488
82
|
|
489
83
|
|
490
84
|
バグ報告・要望・質問など
|
491
85
|
-------------------------------------------------------------------------------
|
492
|
-
|
493
|
-
|
494
|
-
- [Transactd Issues](https://github.com/bizstation/transactd/issues)
|
495
|
-
* 質問については、ウェブサイトを参照するか、上記のIssueトラッカーにお寄せくだ
|
496
|
-
さい。
|
497
|
-
- [Transactd Documents](http://www.bizstation.jp/ja/transactd/documents/)
|
498
|
-
- [Transactd License/Support](http://www.bizstation.jp/ja/transactd/support/)
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
********************************************************************************
|
503
|
-
|
504
|
-
以下では、Transactd Plugin とTransactdクライアントに関係するBizStation以外
|
505
|
-
の著作権について表示します。
|
506
|
-
|
507
|
-
********************************************************************************
|
508
|
-
The following software may be included in Transactd Plugin and Client:
|
509
|
-
Boost Software License - Version 1.0 - August 17th, 2003
|
510
|
-
|
511
|
-
Permission is hereby granted, free of charge, to any person or organization
|
512
|
-
obtaining a copy of the software and accompanying documentation covered by
|
513
|
-
this license (the "Software") to use, reproduce, display, distribute,
|
514
|
-
execute, and transmit the Software, and to prepare derivative works of the
|
515
|
-
Software, and to permit third-parties to whom the Software is furnished to
|
516
|
-
do so, all subject to the following:
|
517
|
-
|
518
|
-
The copyright notices in the Software and this entire statement, including
|
519
|
-
the above license grant, this restriction and the following disclaimer,
|
520
|
-
must be included in all copies of the Software, in whole or in part, and
|
521
|
-
all derivative works of the Software, unless such copies or derivative
|
522
|
-
works are solely in the form of machine-executable object code generated by
|
523
|
-
a source language processor.
|
524
|
-
|
525
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
526
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
527
|
-
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
528
|
-
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
529
|
-
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
530
|
-
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
531
|
-
DEALINGS IN THE SOFTWARE.
|
532
|
-
|
533
|
-
|
534
|
-
********************************************************************************
|
535
|
-
The following software may be included in Transactd Plugin:
|
536
|
-
HandlerSocket plugin for MySQL
|
537
|
-
|
538
|
-
Copyright (c) 2010 DeNA Co.,Ltd.
|
539
|
-
All rights reserved.
|
540
|
-
|
541
|
-
Redistribution and use in source and binary forms, with or without
|
542
|
-
modification, are permitted provided that the following conditions are met:
|
543
|
-
|
544
|
-
* Redistributions of source code must retain the above copyright
|
545
|
-
notice, this list of conditions and the following disclaimer.
|
546
|
-
* Redistributions in binary form must reproduce the above copyright
|
547
|
-
notice, this list of conditions and the following disclaimer in the
|
548
|
-
documentation and/or other materials provided with the distribution.
|
549
|
-
* Neither the name of DeNA Co.,Ltd. nor the names of its contributors
|
550
|
-
may be used to endorse or promote products derived from this software
|
551
|
-
without specific prior written permission.
|
552
|
-
|
553
|
-
THIS SOFTWARE IS PROVIDED BY DeNA Co.,Ltd. "AS IS" AND ANY EXPRESS OR
|
554
|
-
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
555
|
-
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
556
|
-
EVENT SHALL DeNA Co.,Ltd. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
557
|
-
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
558
|
-
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
559
|
-
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
560
|
-
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
561
|
-
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
562
|
-
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
563
|
-
|
564
|
-
********************************************************************************
|
86
|
+
バグ報告・要望・質問などは、[github上のIssueトラッカー](
|
87
|
+
https://github.com/bizstation/transactd/issues)にお寄せください。
|