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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e7982396e445356477013f33567861a7453458a3
|
4
|
+
data.tar.gz: 3b9a0388b7bfe758e3be91e7831c7274342ec923
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9a45e70ade6c2bfba58ab2c384a760ced253206d763c6753dbbeb7644a9bff77d495e7fa1dc62a14715f79d3d07208fbf8fade6cd570f3e1007c4454e301df0c
|
7
|
+
data.tar.gz: b4e996c68ae8268f1cb9861ecf0ac1a765e40ca8f92d1b3a531a93d195e1e5324ca0aa36f2468e3d6efd5ce9cae1938d481b0b2854f37a7cadce312f3fc00dc3
|
data/BUILD_UNIX-JA
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
Transactd ビルドガイド for Unix
|
2
2
|
============================================================
|
3
3
|
|
4
4
|
1. ビルド環境の準備
|
@@ -9,6 +9,10 @@ Transactd Plugin および Transactd クライアントは、Unix上のGCC(64bit
|
|
9
9
|
* Ubuntu 12.10 x86_64
|
10
10
|
* gcc 4.7.2
|
11
11
|
|
12
|
+
ビルドにはgccバージョン4.4以上が必須です。
|
13
|
+
また、CentOS(GCC4.4以上 or clang LLVM 3.4)、Mac OS X 10.9(GCC4.4以上
|
14
|
+
or Xcode5.1 LLVM 3.4)でも同様にビルドできます。
|
15
|
+
|
12
16
|
|
13
17
|
|
14
18
|
2. CMakeのインストール
|
@@ -18,22 +22,30 @@ Transactd Plugin および Transactd クライアントは、Unix上のGCC(64bit
|
|
18
22
|
sudo aptitude install cmake
|
19
23
|
```
|
20
24
|
|
25
|
+
CentOSでは
|
26
|
+
```
|
27
|
+
sudo yum install cmake
|
28
|
+
```
|
29
|
+
|
30
|
+
Mac OS Xでは、バイナリ配布をアプリケーションフォルダにインストールして
|
31
|
+
`/Applications/CMake.app/Contents/bin`にパスを通します。
|
32
|
+
|
21
33
|
|
22
34
|
|
23
35
|
3. Boost C++ Libraries のダウンロードとビルド
|
24
36
|
------------------------------------------------------------
|
25
|
-
[Boostのダウンロードページ](http://www.boost.org/users/download
|
26
|
-
|
37
|
+
[Boostのダウンロードページ](http://www.boost.org/users/download)から
|
38
|
+
ソースコードをダウンロードし、解凍します。
|
27
39
|
```
|
28
40
|
cd ~
|
29
41
|
wget http://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gz/download -O boost_1_54_0.tar.gz
|
30
|
-
tar
|
42
|
+
tar xzf boost_1_54_0.tar.gz
|
31
43
|
```
|
32
44
|
|
33
45
|
以下のコマンドを実行しBoostのビルドを行います。
|
34
46
|
```
|
35
47
|
cd ~/boost_1_54_0
|
36
|
-
./bootstrap.sh --with-libraries=chrono,filesystem,system,thread,timer
|
48
|
+
./bootstrap.sh --with-libraries=chrono,filesystem,system,thread,timer,serialization,program_options
|
37
49
|
./b2 cxxflags=-fPIC
|
38
50
|
```
|
39
51
|
|
@@ -48,8 +60,8 @@ cd ~/boost_1_54_0
|
|
48
60
|
からソースコードをダウンロードし、解凍します。
|
49
61
|
```
|
50
62
|
cd ~
|
51
|
-
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.
|
52
|
-
tar
|
63
|
+
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.20.tar.gz
|
64
|
+
tar xzf mysql-5.6.20.tar.gz
|
53
65
|
```
|
54
66
|
|
55
67
|
|
@@ -57,58 +69,42 @@ tar -xzf mysql-5.6.13.tar.gz
|
|
57
69
|
[Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
|
58
70
|
からソースコードをダウンロードします。
|
59
71
|
|
60
|
-
ダウンロードしたソースコードは、4-1で展開したMySQLソースコードの
|
61
|
-
|
72
|
+
ダウンロードしたソースコードは、4-1で展開したMySQLソースコードの
|
73
|
+
pluginディレクトリに展開します。
|
62
74
|
```
|
63
75
|
cd ~
|
64
|
-
wget http://www.bizstation.jp/al/transactd/download/transactd-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
### 4-3 BOMの削除(gcc 4.3 未満の場合)
|
71
|
-
gccのバージョンが4.3未満の場合、UTF-8 BOM付きのソースコードをビルドできない
|
72
|
-
ため、BOMを削除します。
|
73
|
-
バージョンは以下のコマンドで確認できます。
|
74
|
-
```
|
75
|
-
gcc --version
|
76
|
-
```
|
77
|
-
|
78
|
-
gccのバージョンが4.3未満だった場合、以下のコマンドで
|
79
|
-
で`transactd/source/bzs/test/trdclengn/test_trdclengn.cpp` のBOMを削除します。
|
80
|
-
```
|
81
|
-
cd ~/mysql-5.6.13/plugin/transactd/source/bzs/test/trdclengn/
|
82
|
-
cp test_trdclengn.cpp test_trdclengn.cpp.backup
|
83
|
-
file_length=`wc -c < test_trdclengn.cpp.backup`
|
84
|
-
tail -c `expr ${file_length} - 3` test_trdclengn.cpp.backup > test_trdclengn.cpp
|
76
|
+
wget http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
|
77
|
+
#Mac OS Xでは
|
78
|
+
#curl -O http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
|
79
|
+
unzip -q transactd-source-2.0.0.zip -d transactd
|
80
|
+
mv transactd ~/mysql-5.6.20/plugin/
|
85
81
|
```
|
86
82
|
|
87
83
|
|
88
|
-
### 4-
|
84
|
+
### 4-3 CMakeの実行
|
89
85
|
以下のコマンドを実行します。後述するオプションに注意してください。
|
90
86
|
```
|
91
|
-
cd ~/mysql-5.6.
|
87
|
+
cd ~/mysql-5.6.20
|
92
88
|
mkdir bldgccx64
|
93
89
|
cd bldgccx64
|
94
90
|
cmake .. -DWITH_TRANSACTD_SERVER=ON -DWITH_TRANSACTD_CLIENTS=ON \
|
95
91
|
-DBUILD_CONFIG=mysql_release \
|
96
92
|
-DBOOST_ROOT=~/boost_1_54_0 \
|
97
|
-
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.
|
93
|
+
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.20 \
|
98
94
|
-DTRANSACTD_CLIENTS_PREFIX=/usr/lib \
|
99
95
|
-DTRANSACTD_PREFIX=/usr/local/transactd
|
100
96
|
```
|
101
|
-
* CMAKE_INSTALL_PREFIXに指定するのは、これからビルドするMySQL
|
102
|
-
|
97
|
+
* `CMAKE_INSTALL_PREFIX` に指定するのは、これからビルドするMySQLのインストール先
|
98
|
+
です。
|
103
99
|
***すでにインストール済みのMySQLがある場合に、それと同じパスを指定すると、上書
|
104
100
|
きされてしまいます。上書きしたくないときは異なるパスを指定してください。***
|
105
|
-
* TRANSACTD_CLIENTS_PREFIX
|
106
|
-
|
107
|
-
* TRANSACTD_PREFIX
|
108
|
-
|
101
|
+
* `TRANSACTD_CLIENTS_PREFIX` に指定するのは、これからビルドするクライアントの
|
102
|
+
インストール先です。デフォルトは`/usr/lib`です。
|
103
|
+
* `TRANSACTD_PREFIX`に指定するのは、これからビルドするテストやベンチマークの
|
104
|
+
プログラムのインストール先です。デフォルトは`/usr/local/transactd`です。
|
109
105
|
|
110
106
|
|
111
|
-
### 4-
|
107
|
+
### 4-4 ビルド
|
112
108
|
CMakeが完了するとMakefileが生成されているので、makeコマンドでビルド・インストール
|
113
109
|
します。
|
114
110
|
```
|
@@ -125,30 +121,13 @@ make install
|
|
125
121
|
からソースコードをダウンロードします。
|
126
122
|
```
|
127
123
|
cd ~
|
128
|
-
wget http://www.bizstation.jp/al/transactd/download/transactd-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
### 5-2 BOMの削除(gcc 4.3 未満の場合)
|
134
|
-
gccのバージョンが4.3未満の場合、UTF-8 BOM付きのソースコードをビルドできない
|
135
|
-
ため、BOMを削除します。
|
136
|
-
バージョンは以下のコマンドで確認できます。
|
124
|
+
wget http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
|
125
|
+
#Mac OS Xでは
|
126
|
+
#curl curl -O http://www.bizstation.jp/al/transactd/download/transactd-2.0.0/transactd-source-2.0.0.zip
|
127
|
+
unzip -q transactd-source-2.0.0.zip -d transactd
|
137
128
|
```
|
138
|
-
gcc --version
|
139
|
-
```
|
140
|
-
|
141
|
-
gccのバージョンが4.3未満だった場合、以下のコマンドで
|
142
|
-
`transactd/source/bzs/test/trdclengn/test_trdclengn.cpp` のBOMを削除します。
|
143
|
-
```
|
144
|
-
cd ~/transactd/source/bzs/test/trdclengn/
|
145
|
-
cp test_trdclengn.cpp test_trdclengn.cpp.backup
|
146
|
-
file_length=`wc -c < test_trdclengn.cpp.backup`
|
147
|
-
tail -c `expr ${file_length} - 3` test_trdclengn.cpp.backup > test_trdclengn.cpp
|
148
|
-
```
|
149
|
-
|
150
129
|
|
151
|
-
### 5-
|
130
|
+
### 5-2 CMakeの実行
|
152
131
|
以下のコマンドを実行します。後述するオプションに注意してください。
|
153
132
|
```
|
154
133
|
cd ~/transactd
|
@@ -159,13 +138,13 @@ cmake .. -DWITH_TRANSACTD_SERVER=OFF -DWITH_TRANSACTD_CLIENTS=ON \
|
|
159
138
|
-DTRANSACTD_CLIENTS_PREFIX=/usr/lib \
|
160
139
|
-DTRANSACTD_PREFIX=/usr/local/transactd
|
161
140
|
```
|
162
|
-
* TRANSACTD_CLIENTS_PREFIX
|
163
|
-
|
164
|
-
* TRANSACTD_PREFIX
|
165
|
-
|
141
|
+
* `TRANSACTD_CLIENTS_PREFIX` に指定するのは、これからビルドするクライアントの
|
142
|
+
インストール先です。デフォルトは`/usr/lib`です。
|
143
|
+
* `TRANSACTD_PREFIX`に指定するのは、これからビルドするテストやベンチマークの
|
144
|
+
プログラムのインストール先です。デフォルトは`/usr/local/transactd`です。
|
166
145
|
|
167
146
|
|
168
|
-
### 5-
|
147
|
+
### 5-3 ビルド
|
169
148
|
CMakeが完了するとMakefileが生成されているので、makeコマンドでビルド・インストール
|
170
149
|
します。
|
171
150
|
```
|
data/BUILD_WIN-JA
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
|
1
|
+
Transactd ビルドガイド for Windows
|
2
2
|
============================================================
|
3
3
|
|
4
4
|
1. コンパイラの準備
|
5
5
|
------------------------------------------------------------
|
6
6
|
Transactd Plugin および Transactd クライアントは、Windows上のVisual Studio
|
7
|
-
(32bit/64bit)
|
8
|
-
|
7
|
+
(32bit/64bit)でビルドできます。ここでは、以下の環境でのビルドを想定して進めます。
|
8
|
+
|
9
|
+
(クライアントはEmbarcaderoのコンパイラーC++ Builder XEシリーズでもビルドできます。
|
10
|
+
[クライアントのみをビルド]の項を参照してください。)
|
9
11
|
|
10
12
|
* Windows 7 (64bit)
|
11
13
|
* Visual Studio 2010 Express
|
@@ -20,6 +22,7 @@ Visual Studio 2010 Expressで64bitビルドを行うには、別途Windows SDK
|
|
20
22
|
http://www.microsoft.com/en-us/download/details.aspx?id=8442)
|
21
23
|
(GRMSDKX_EN_DVD.iso をダウンロードし、マウントしてインストーラを実行)
|
22
24
|
|
25
|
+
|
23
26
|
### Visual Studioコマンドプロンプトの起動方法
|
24
27
|
後述する手順の中で、Visual Studioコマンドプロンプトを開くことがあります。
|
25
28
|
[スタートメニュー]-[すべてのプログラム]-[Microsoft Visual Studio 2010 Express]-
|
@@ -28,8 +31,7 @@ Visual Studio 2010 Expressで64bitビルドを行うには、別途Windows SDK
|
|
28
31
|
Visual Studio 2010 Express には、64bit版ビルドツール用の Visual Studioコマンド
|
29
32
|
プロンプトが付属しません。代わりに、64bit用ビルドツールのパスを設定するための
|
30
33
|
バッチファイルを作成し、そこから起動します。
|
31
|
-
以下の内容のファイルを作成し、`set64env.cmd
|
32
|
-
。
|
34
|
+
以下の内容のファイルを作成し、`set64env.cmd`という名前でデスクトップに保存します。
|
33
35
|
```
|
34
36
|
%comspec% /k "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64
|
35
37
|
```
|
@@ -39,7 +41,7 @@ Visual Studio 2010 Express には、64bit版ビルドツール用の Visual Stud
|
|
39
41
|
2. CMakeのダウンロードとインストール
|
40
42
|
------------------------------------------------------------
|
41
43
|
[CMake ダウンロードページ](http://www.cmake.org/cmake/resources/software.html)か
|
42
|
-
らWindows (Win32 Installer) をダウンロードし実行します。
|
44
|
+
らWindows (Win32 Installer) cmake-2.8.12.2-win32-x86.exe をダウンロードし実行します。
|
43
45
|
|
44
46
|
途中、「Add CMake to the system PATH for all(or current) users」を選択し、
|
45
47
|
cmakeの実行ファイルにパスが通るようにします。
|
@@ -48,42 +50,12 @@ cmakeの実行ファイルにパスが通るようにします。
|
|
48
50
|
|
49
51
|
3. Boost C++ Libraries のダウンロードとインストール
|
50
52
|
------------------------------------------------------------
|
51
|
-
|
52
|
-
|
53
|
-
BoostPro 1.51.0 Installer (64-bit)をダウンロードし、インストールします。
|
54
|
-
|
55
|
-
BoostProインストーラの「Select Default Variants」では以下の項目にチェックを入れ
|
56
|
-
ます。
|
57
|
-
|
58
|
-
* Visual C++ 10.0
|
59
|
-
* Mlutithread, static runtime
|
60
|
-
* Mlutithread debug, static runtime
|
61
|
-
|
62
|
-
次の「Choose Components」では、以下のコンポーネント以外のチェックは外してもかま
|
63
|
-
いません。
|
64
|
-
|
65
|
-
* chrono
|
66
|
-
* filesystem
|
67
|
-
* system
|
68
|
-
* thread
|
69
|
-
* timer
|
70
|
-
|
71
|
-
インストールができたら、システム環境変数に `TI_BOOST_ROOT_32` および
|
72
|
-
`TI_BOOST_ROOT_64`という変数を追加し、32bitと64bitのフォルダのパスを値として設
|
73
|
-
定します。自分のビルドするbitに合わせた変数が設定されていれば、両方を設定する必
|
74
|
-
要はありません。
|
75
|
-
```
|
76
|
-
TI_BOOST_ROOT_32 = c:\boost\boost_1_51_32
|
77
|
-
TI_BOOST_ROOT_64 = c:\boost\boost_1_51_64
|
78
|
-
```
|
79
|
-
環境変数の追加は、[コントロールパネル]-[システム]-[詳細設定]タブ-[環境変数]から
|
80
|
-
行います。
|
81
|
-
|
53
|
+
BoostProのダウンロードページが閉鎖されたため、ビルド済みバイナリをダウンロードするこ
|
54
|
+
とはできなくなりました。boostはソースからビルドします。
|
82
55
|
|
83
|
-
###
|
84
|
-
|
85
|
-
|
86
|
-
す。ここでは、以下のフォルダに保存したものとします。
|
56
|
+
### ソースからのビルド
|
57
|
+
[Boostのダウンロードページ](http://www.boost.org/users/download)からソースコードを
|
58
|
+
ダウンロードし、解凍します。ここでは、以下のフォルダに保存したものとします。
|
87
59
|
```
|
88
60
|
C:\Program Files\boost\boost_1_54_0
|
89
61
|
```
|
@@ -93,21 +65,38 @@ Visual Studioコマンドプロンプトを起動します。以下のコマン
|
|
93
65
|
```
|
94
66
|
cd C:\Program Files\boost\boost_1_54_0
|
95
67
|
bootstrap.bat
|
68
|
+
|
69
|
+
@REM 64bitの場合
|
96
70
|
bjam.exe toolset=msvc threading=multi address-model=64 architecture=x86 ^
|
97
71
|
--with-chrono --with-filesystem --with-system --with-thread --with-timer ^
|
72
|
+
--with-serialization --with-program_options ^
|
98
73
|
variant=debug,release link=static runtime-link=static
|
99
74
|
bjam.exe toolset=msvc threading=multi address-model=64 architecture=x86 ^
|
100
75
|
--with-chrono --with-filesystem --with-system --with-thread --with-timer ^
|
76
|
+
--with-serialization --with-program_options ^
|
77
|
+
variant=debug,release link=static runtime-link=shared
|
78
|
+
|
79
|
+
@REM 32bitの場合
|
80
|
+
bjam.exe toolset=msvc threading=multi architecture=x86 ^
|
81
|
+
--with-chrono --with-filesystem --with-system --with-thread --with-timer ^
|
82
|
+
--with-serialization --with-program_options ^
|
83
|
+
variant=debug,release link=static runtime-link=static
|
84
|
+
bjam.exe toolset=msvc threading=multi architecture=x86 ^
|
85
|
+
--with-chrono --with-filesystem --with-system --with-thread --with-timer ^
|
86
|
+
--with-serialization --with-program_options ^
|
101
87
|
variant=debug,release link=static runtime-link=shared
|
102
88
|
```
|
103
89
|
|
104
|
-
|
90
|
+
ビルドができたら、システム環境変数に `TI_BOOST_ROOT_32` および
|
105
91
|
`TI_BOOST_ROOT_64`という変数を追加し、32bitと64bitのフォルダのパスを値として設
|
106
92
|
定します。自分のビルドするbitに合わせた変数が設定されていれば、両方を設定する必
|
107
93
|
要はありません。
|
108
94
|
```
|
109
|
-
|
110
|
-
TI_BOOST_ROOT_64 =
|
95
|
+
64bitの場合
|
96
|
+
TI_BOOST_ROOT_64 = C:\Program Files\boost\boost_1_54_0
|
97
|
+
|
98
|
+
32bitの場合
|
99
|
+
TI_BOOST_ROOT_32 = C:\Program Files\boost\boost_1_54_0
|
111
100
|
```
|
112
101
|
環境変数の追加は、[コントロールパネル]-[システム]-[詳細設定]タブ-[環境変数]から
|
113
102
|
行います。
|
@@ -127,19 +116,22 @@ TI_BOOST_ROOT_64 = c:\boost\boost_1_51_64
|
|
127
116
|
ダウンロードした圧縮ファイルを解凍します。ここでは、以下のフォルダに保存したも
|
128
117
|
のとします。
|
129
118
|
```
|
130
|
-
C:\Users\Public\Documents\mysql-5.6.
|
119
|
+
C:\Users\Public\Documents\mysql-5.6.20
|
131
120
|
```
|
132
121
|
|
133
122
|
|
134
123
|
### 4-2 Transactd Pluginソースコードのダウンロード
|
135
124
|
[Transactd Pluginのダウンロードページ](http://www.bizstation.jp/al/transactd/download/index.asp)
|
136
125
|
からソースコードをダウンロードします。
|
137
|
-
|
138
|
-
|
139
|
-
ダウンロードしたソースコードを、4-1で展開したMySQLソースコードのpluginフォルダに
|
140
|
-
展開します。ここでは、以下のようなフォルダ構造になります。
|
126
|
+
ソースを展開するフォルダ transactd をMySQLのソースツリー内のpluginフォルダに作成
|
127
|
+
します。
|
141
128
|
```
|
142
|
-
C:\Users\Public\Documents\mysql-5.6.
|
129
|
+
md C:\Users\Public\Documents\mysql-5.6.20\plugin\transactd
|
130
|
+
```
|
131
|
+
ダウンロードしたソースコードを、上記で作成したtransactdフォルダに展開します。
|
132
|
+
ここでは、以下のようなフォルダ構造になります。
|
133
|
+
```
|
134
|
+
C:\Users\Public\Documents\mysql-5.6.20\plugin\transactd
|
143
135
|
```
|
144
136
|
|
145
137
|
|
@@ -151,15 +143,15 @@ Transactd Pluginソースコードのpatchディレクトリにmysqlのソース
|
|
151
143
|
します。(パッチはmysql/mariadbのバージョンごとに異なる名前になっています。
|
152
144
|
パッチ名のバージョンの部分は合ったものに変更してください。)
|
153
145
|
```
|
154
|
-
cd C:\Users\Public\Documents\mysql-5.6.
|
155
|
-
copy plugin\transactd\patch\transactd-win-mysql-5.6.
|
146
|
+
cd C:\Users\Public\Documents\mysql-5.6.20
|
147
|
+
copy plugin\transactd\patch\transactd-win-mysql-5.6.20.patch *
|
156
148
|
```
|
157
149
|
|
158
150
|
patchコマンドを使用できる環境(Cygwin、Git Bashなど)があるならば、以下の
|
159
151
|
コマンドでパッチを適用します。
|
160
152
|
```
|
161
|
-
cd C:\Users\Public\Documents\mysql-5.6.
|
162
|
-
patch -p0 -i transactd-win-mysql-5.6.
|
153
|
+
cd C:\Users\Public\Documents\mysql-5.6.20
|
154
|
+
patch -p0 -i transactd-win-mysql-5.6.20.patch
|
163
155
|
```
|
164
156
|
|
165
157
|
patchコマンドがない場合、[宮坂 賢 氏のGNU patch 2.5.4 (Win32 版)](
|
@@ -171,8 +163,8 @@ C:\Program Files (x86)\patc254w
|
|
171
163
|
```
|
172
164
|
以下のコマンドでパッチを適用します。
|
173
165
|
```
|
174
|
-
cd C:\Users\Public\Documents\mysql-5.6.
|
175
|
-
"C:\Program Files (x86)\patc254w\patch.exe" -p0 --binary -i transactd-win-mysql-5.6.
|
166
|
+
cd C:\Users\Public\Documents\mysql-5.6.20
|
167
|
+
"C:\Program Files (x86)\patc254w\patch.exe" -p0 --binary -i transactd-win-mysql-5.6.20.patch
|
176
168
|
```
|
177
169
|
|
178
170
|
#### 4-3.2 ソースコードのエンコーディングの修正
|
@@ -188,7 +180,7 @@ cd C:\Users\Public\Documents\mysql-5.6.13
|
|
188
180
|
### 4-4 CMakeの実行
|
189
181
|
Visual Studioコマンドプロンプトを起動して、以下のコマンドを実行します。
|
190
182
|
```
|
191
|
-
cd C:\Users\Public\Documents\mysql-5.6.
|
183
|
+
cd C:\Users\Public\Documents\mysql-5.6.20
|
192
184
|
md bldVC100x64
|
193
185
|
cd bldVC100x64
|
194
186
|
cmake .. -G "Visual Studio 10 Win64" ^
|
@@ -200,7 +192,7 @@ cmake .. -G "Visual Studio 10 Win64" ^
|
|
200
192
|
### 4-5 ビルド
|
201
193
|
CMakeが完了すると、以下のソリューションファイルが生成されています。
|
202
194
|
```
|
203
|
-
C:\Users\Public\Documents\mysql-5.6.
|
195
|
+
C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\MySQL.sln
|
204
196
|
```
|
205
197
|
MySQL.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マネージャー]から構
|
206
198
|
成を「RelWithDebInfo」に変更し、[ビルド]-[ソリューションのビルド]をクリックしま
|
@@ -208,9 +200,9 @@ MySQL.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マ
|
|
208
200
|
|
209
201
|
バイナリは以下のフォルダに出力されます。
|
210
202
|
```
|
211
|
-
C:\Users\Public\Documents\mysql-5.6.
|
212
|
-
C:\Users\Public\Documents\mysql-5.6.
|
213
|
-
C:\Users\Public\Documents\mysql-5.6.
|
203
|
+
C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\sql\lib\plugin
|
204
|
+
C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\plugin\transactd\bin
|
205
|
+
C:\Users\Public\Documents\mysql-5.6.20\bldVC100x64\plugin\transactd\lib
|
214
206
|
```
|
215
207
|
|
216
208
|
|
@@ -223,12 +215,12 @@ C:\Users\Public\Documents\mysql-5.6.13\bldVC100x64\plugin\transactd\lib
|
|
223
215
|
|
224
216
|
ここでは、以下のフォルダに展開したとします。
|
225
217
|
```
|
226
|
-
C:\Users\Public\Documents
|
218
|
+
C:\Users\Public\Documents\transactd
|
227
219
|
```
|
220
|
+
(EmbarcaderoのC++BuilderXEシリーズの場合は[5-4 C++BuilderXEシリーズでのビルド]に進んでください。)
|
228
221
|
|
229
222
|
|
230
223
|
### 5-2 CMakeの実行
|
231
|
-
|
232
224
|
Visual Studioコマンドプロンプトを起動して、以下のコマンドを実行します。
|
233
225
|
```
|
234
226
|
cd C:\Users\Public\Documents\transactd
|
@@ -254,3 +246,54 @@ tdcl.slnをVisual Studioで開きます。メニューの[ビルド]-[構成マ
|
|
254
246
|
C:\Users\Public\Documents\transactd\bldVC100x64\bin
|
255
247
|
C:\Users\Public\Documents\transactd\bldVC100x64\lib
|
256
248
|
```
|
249
|
+
|
250
|
+
|
251
|
+
### 5-4 C++BuilderXEシリーズでのビルド
|
252
|
+
EmbarcaderoのC++BuilderXEシリーズの場合は
|
253
|
+
```
|
254
|
+
C:\Users\Public\Documents\Build\TransactdClient_bcb.groupproj
|
255
|
+
```
|
256
|
+
にてXE以降のコンパイラーでコンパイルできます。
|
257
|
+
|
258
|
+
コンパイルにはコンパイラー付属のboostライブラリがインストールされている必要が
|
259
|
+
あります。また、C++ Builderの[ツール]-[オプション]-[環境オプション]-[C++ オプション]
|
260
|
+
-[パスとディレクトリ]の[システムインクルードパス]に
|
261
|
+
```
|
262
|
+
32Bitの場合 $(CG_BOOST_ROOT)
|
263
|
+
64Bitの場合 $(CG_64_BOOST_ROOT)
|
264
|
+
```
|
265
|
+
を追加します。
|
266
|
+
ビルド構成は、Unicode版/Ansi版 Release/Debug 32Bit/64Bit があります。
|
267
|
+
出力は、bin libフォルダに生成されます。64Bitの場合は常に動的RTLとリンクが必要です。
|
268
|
+
|
269
|
+
以下はバージョンごとの補足事項です。
|
270
|
+
|
271
|
+
32Bit(すべてのXEバージョン)の場合、boost_program_optionsがコンパイルされていないため、
|
272
|
+
```
|
273
|
+
build\libboost_program_options-bcb1_39\libboost_program_options-bcb-mt-1_39.cbproj
|
274
|
+
```
|
275
|
+
にて事前にlibboost_program_options-bcb-mt-1_39.libを生成してください。
|
276
|
+
コンパイルの前に、下記のboostのソースの修正が必要です。
|
277
|
+
```
|
278
|
+
ファイル:$(CG_BOOST_ROOT)\boost_1_39\libs\program_options\src\variables_map.cpp
|
279
|
+
71行目 :v = variable_value(); --> variable_value vr;v = vr;
|
280
|
+
115行目 :m[key] = variable_value(def, true); --> variable_value vr(def, true);m[key] = vr;
|
281
|
+
```
|
282
|
+
|
283
|
+
XE2の場合、boost_serializationがコンパイルされていないため、
|
284
|
+
```
|
285
|
+
build\libboost_serialization-bcb-1_39\libboost_boost_serialization-bcb-mt-1_39.cbproj
|
286
|
+
```
|
287
|
+
にて事前にlibboost_serialization-bcb-mt-1_39.libを生成してください。
|
288
|
+
|
289
|
+
XE4 64Bitの場合、コンパイラバージョンがXE3と同じであるため、tdclcppを使用する
|
290
|
+
アプリケーションの自動リンクでtdclcpp_bc170_64x.libを探そうとします。しかしXE4で
|
291
|
+
生成されるdllはtdclcpp_bc180_64x.dllのため、libが見つからずリンクエラーが発生します。
|
292
|
+
XE4 64Bitでtdclcppとtdclstmtをコンパイルした際には、libのファイル名の180部分を170に
|
293
|
+
リネームし`tdclcpp_bc180_64x_xx.lib`と`tdclstmt_bc180_64x_xx.lib`にしてください。
|
294
|
+
|
295
|
+
XE6 64Bitの場合、boost_threadのコンパイルが通らないためboostのソースを修正します。
|
296
|
+
```
|
297
|
+
ファイル:$(CG_BOOST_ROOT)\boost_1_50\boost\asio\detail\impl\win_thread.ipp
|
298
|
+
52行目: ::QueueUserAPC(apc_function, thread_, 0); --> ::QueueUserAPC((PAPCFUNC)apc_function, thread_, 0);
|
299
|
+
```
|
data/CMakeLists.txt
CHANGED
@@ -22,6 +22,8 @@
|
|
22
22
|
cmake_minimum_required(VERSION 2.6)
|
23
23
|
include(build/common/transactd_required.cmake)
|
24
24
|
include(build/common/transactd_common.cmake)
|
25
|
+
include(build/common/transactd_cl_common.cmake)
|
26
|
+
include(build/common/options.cmake)
|
25
27
|
|
26
28
|
# ==========================================================
|
27
29
|
# options
|
@@ -29,7 +31,7 @@ include(build/common/transactd_common.cmake)
|
|
29
31
|
option(WITH_TRANSACTD_SERVER "Build Transactd server plugin" ON)
|
30
32
|
option(WITH_TRANSACTD_CLIENTS "Build Transactd client libraries" ON)
|
31
33
|
option(TRANSACTD_HANDLERSOCKET "Add HandlerSocket protocol to Transactd plugin" ON)
|
32
|
-
set(TRANSACTD_PREFIX "/usr/local/transactd" CACHE STRING "Prefix for transactd executables
|
34
|
+
set(TRANSACTD_PREFIX "/usr/local/transactd" CACHE STRING "Prefix for transactd executables")
|
33
35
|
set(TRANSACTD_CLIENTS_PREFIX "" CACHE STRING "Prefix for transactd client libraries")
|
34
36
|
# options for Ruby client
|
35
37
|
option(TRANSACTD_RUBY_GEM "Build Transactd ruby gem" OFF)
|
@@ -50,7 +52,11 @@ set(TRANSACTD_RUBY_LIBRARY_PATH "" CACHE STRING "Library path for ruby")
|
|
50
52
|
set(TRANSACTD_PHP_INCLUDE_PATH "" CACHE STRING "Include path for PHP")
|
51
53
|
option(TRANSACTD_PHP_USE_32BIT_TIME_T
|
52
54
|
"Add _USE_32BIT_TIME_T option for building Transactd client PHP extension" ON)
|
53
|
-
set(TDCL_CPP_CHARSET "" CACHE STRING "Transactd clients
|
55
|
+
set(TDCL_CPP_CHARSET "" CACHE STRING "The charset of Transactd clients [m]ultibyte [u]nicode")
|
56
|
+
option(TRANSACTD_HAVE_RB_THREAD_CALL_WITHOUT_GVL
|
57
|
+
"Add HAVE_RB_THREAD_CALL_WITHOUT_GVL option for building Transactd client Ruby gem" ON)
|
58
|
+
option(TRANSACTD_HAVE_RB_THREAD_BLOCKING_REGION
|
59
|
+
"Add HAVE_RB_THREAD_BLOCKING_REGION option for building Transactd client Ruby gem" OFF)
|
54
60
|
|
55
61
|
|
56
62
|
# ==========================================================
|
@@ -66,6 +72,11 @@ if(TRANSACTD_PHP)
|
|
66
72
|
set(WITH_TRANSACTD_SERVER OFF)
|
67
73
|
set(WITH_TRANSACTD_CLIENTS OFF)
|
68
74
|
endif()
|
75
|
+
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
76
|
+
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Type of build")
|
77
|
+
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
|
78
|
+
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
|
79
|
+
endif()
|
69
80
|
|
70
81
|
|
71
82
|
# ==========================================================
|
@@ -83,17 +94,17 @@ endif()
|
|
83
94
|
if(WITH_TRANSACTD_CLIENTS)
|
84
95
|
message(STATUS "BUILD Transactd Client Libraries")
|
85
96
|
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
|
97
|
+
# build without server plugin
|
86
98
|
project(tdcl)
|
87
99
|
endif()
|
100
|
+
tdcl_set_compiler_flags()
|
88
101
|
subdirs("build/tdclc")
|
89
|
-
if(
|
90
|
-
|
91
|
-
set(TDCL_CPP_CHARSET u)
|
92
|
-
endif()
|
102
|
+
if(MSVC AND (NOT ("${TDCL_CPP_CHARSET}" STREQUAL "m")))
|
103
|
+
set(TDCL_CPP_CHARSET u)
|
93
104
|
else()
|
94
105
|
set(TDCL_CPP_CHARSET m)
|
95
106
|
endif()
|
96
|
-
foreach(srcname tdclcpp test_tdcl bench_td)
|
107
|
+
foreach(srcname tdclcpp test_tdcl bench_td bench_query tdclstmt querystmts ormsrcgen)
|
97
108
|
transactd_copy_subdir(
|
98
109
|
"${TRANSACTD_ROOT}" "${srcname}" "${srcname}${TDCL_CPP_CHARSET}")
|
99
110
|
subdirs("build/${srcname}${TDCL_CPP_CHARSET}")
|
@@ -106,11 +117,19 @@ endif()
|
|
106
117
|
# ==========================================================
|
107
118
|
if(TRANSACTD_RUBY_GEM)
|
108
119
|
message(STATUS "BUILD Transactd Ruby Gem")
|
109
|
-
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
|
110
|
-
project(tdcl)
|
111
|
-
endif()
|
112
120
|
set(TDCL_CPP_CHARSET m)
|
113
|
-
|
121
|
+
project(tdcl)
|
122
|
+
tdcl_set_compiler_flags()
|
123
|
+
if(WIN32)
|
124
|
+
if(MSVC)
|
125
|
+
transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppmr)
|
126
|
+
subdirs("build/tdclcppmr")
|
127
|
+
endif()
|
128
|
+
else()
|
129
|
+
transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppm)
|
130
|
+
subdirs("build/tdclc")
|
131
|
+
subdirs("build/tdclcppm")
|
132
|
+
endif()
|
114
133
|
subdirs("build/tdclrb")
|
115
134
|
endif()
|
116
135
|
|
@@ -120,10 +139,16 @@ endif()
|
|
120
139
|
# ==========================================================
|
121
140
|
if(TRANSACTD_PHP)
|
122
141
|
message(STATUS "BUILD Transactd client PHP extension")
|
123
|
-
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
|
124
|
-
project(tdcl)
|
125
|
-
endif()
|
126
142
|
set(TDCL_CPP_CHARSET m)
|
127
|
-
|
143
|
+
project(tdcl)
|
144
|
+
tdcl_set_compiler_flags()
|
145
|
+
subdirs("build/tdclc")
|
146
|
+
if(MSVC)
|
147
|
+
transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppmr)
|
148
|
+
subdirs("build/tdclcppmr")
|
149
|
+
else()
|
150
|
+
transactd_copy_subdir("${TRANSACTD_ROOT}" tdclcpp tdclcppm)
|
151
|
+
subdirs("build/tdclcppm")
|
152
|
+
endif()
|
128
153
|
subdirs("build/tdclphp")
|
129
154
|
endif()
|