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()
         
     |