transactd 1.2.0 → 2.0.0
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/common/tdclc_32_2_0.dll +0 -0
- data/bin/common/tdclc_64_2_0.dll +0 -0
- data/build/common/check_for_link_iconv.cmake +18 -14
- data/build/common/create_symlink.cmake.in +25 -0
- data/build/common/get_boost_libs.cmake +23 -23
- data/build/common/options.cmake +0 -66
- data/build/common/smart_install.cmake +3 -3
- data/build/common/transactd.rc.in +15 -5
- data/build/common/transactd_cl_common.cmake +37 -18
- data/build/common/transactd_cl_output.cmake +55 -13
- data/build/common/transactd_common.cmake +108 -31
- data/build/swig/php/generate.cmake.in +15 -17
- data/build/swig/php/generate.cmd.in +15 -9
- data/build/swig/php/php.swg +124 -82
- data/build/swig/php/transactd.no_yield.php +4494 -0
- data/build/swig/php/transactd.no_yield.php.git.patch +685 -0
- data/build/swig/php/transactd.no_yield.php.patch +685 -0
- data/build/swig/php/transactd.yield.php +4461 -0
- data/build/swig/php/transactd.yield.php.git.patch +652 -0
- data/build/swig/php/transactd.yield.php.patch +652 -0
- data/build/swig/referencecounter.h +79 -0
- data/build/swig/ruby/ruby.swg +226 -76
- data/build/swig/ruby/threadBlockRegionWrapper.h +71 -0
- data/build/swig/ruby/without_gvl.swg +87 -0
- data/build/swig/tdcl.i +659 -170
- data/build/swig/validatablepointer.h +91 -0
- data/build/tdclc/CMakeLists.txt +49 -34
- data/build/tdclc/{tdclc_64.cbproj → tdclc.cbproj} +65 -20
- data/build/tdclc/tdclc.rc +0 -0
- data/build/tdclcpp/CMakeLists.txt +84 -20
- data/build/tdclcpp/tdclcpp.rc +0 -0
- data/build/tdclcpp/{tdclcpp_bcb_64.cbproj → tdclcpp_bc.cbproj} +168 -44
- data/build/tdclrb/CMakeLists.txt +84 -66
- data/build/tdclrb/bldgem/extconf.rb +28 -3
- data/build/tdclrb/gem/helper.rb +11 -1
- data/build/tdclrb/gem_output.cmake +20 -16
- data/index_ja.html +15 -0
- data/source/bzs/db/IBlobBuffer.h +15 -17
- data/source/bzs/db/blobBuffer.h +186 -140
- data/source/bzs/db/blobStructs.h +37 -37
- data/source/bzs/db/engine/mysql/IReadRecords.h +34 -34
- data/source/bzs/db/engine/mysql/bookmark.h +150 -147
- data/source/bzs/db/engine/mysql/database.cpp +1721 -1526
- data/source/bzs/db/engine/mysql/database.h +608 -370
- data/source/bzs/db/engine/mysql/dbManager.cpp +213 -201
- data/source/bzs/db/engine/mysql/dbManager.h +115 -104
- data/source/bzs/db/engine/mysql/errorMessage.cpp +49 -50
- data/source/bzs/db/engine/mysql/errorMessage.h +25 -26
- data/source/bzs/db/engine/mysql/fieldAccess.h +55 -61
- data/source/bzs/db/engine/mysql/mydebuglog.cpp +326 -292
- data/source/bzs/db/engine/mysql/mydebuglog.h +63 -55
- data/source/bzs/db/engine/mysql/mysqlInternal.h +182 -125
- data/source/bzs/db/engine/mysql/mysqlThd.cpp +121 -121
- data/source/bzs/db/engine/mysql/mysqlThd.h +20 -20
- data/source/bzs/db/engine/mysql/percentageKey.h +241 -228
- data/source/bzs/db/protocol/ICommandExecuter.h +18 -17
- data/source/bzs/db/protocol/hs/hsCommandExecuter.cpp +543 -514
- data/source/bzs/db/protocol/hs/hsCommandExecuter.h +155 -158
- data/source/bzs/db/protocol/tdap/btrDate.cpp +213 -180
- data/source/bzs/db/protocol/tdap/btrDate.h +39 -37
- data/source/bzs/db/protocol/tdap/client/activeTable.cpp +173 -0
- data/source/bzs/db/protocol/tdap/client/activeTable.h +165 -0
- data/source/bzs/db/protocol/tdap/client/activeTableImple.h +370 -0
- data/source/bzs/db/protocol/tdap/client/bulkInsert.h +13 -23
- data/source/bzs/db/protocol/tdap/client/client.cpp +81 -68
- data/source/bzs/db/protocol/tdap/client/client.h +361 -320
- data/source/bzs/db/protocol/tdap/client/connMgr.cpp +17 -22
- data/source/bzs/db/protocol/tdap/client/connMgr.h +17 -19
- data/source/bzs/db/protocol/tdap/client/connectionPool.cpp +243 -0
- data/source/bzs/db/protocol/tdap/client/connectionPool.h +109 -0
- data/source/bzs/db/protocol/tdap/client/database.cpp +327 -219
- data/source/bzs/db/protocol/tdap/client/database.h +141 -118
- data/source/bzs/db/protocol/tdap/client/databaseFactory.cpp +60 -62
- data/source/bzs/db/protocol/tdap/client/databaseManager.h +255 -0
- data/source/bzs/db/protocol/tdap/client/dbDef.cpp +315 -202
- data/source/bzs/db/protocol/tdap/client/dbDef.h +40 -32
- data/source/bzs/db/protocol/tdap/client/dllmain.cpp +390 -371
- data/source/bzs/db/protocol/tdap/client/errorMessage.cpp +148 -56
- data/source/bzs/db/protocol/tdap/client/errorMessage_ja.cpp +149 -57
- data/source/bzs/db/protocol/tdap/client/export.h +35 -0
- data/source/bzs/db/protocol/tdap/client/field.cpp +1985 -0
- data/source/bzs/db/protocol/tdap/client/field.h +393 -0
- data/source/bzs/db/protocol/tdap/client/fieldDDF.cpp +14 -14
- data/source/bzs/db/protocol/tdap/client/fieldDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.cpp +123 -0
- data/source/bzs/db/protocol/tdap/client/fieldNameAlias.h +58 -0
- data/source/bzs/db/protocol/tdap/client/fields.h +178 -0
- data/source/bzs/db/protocol/tdap/client/fileDDF.cpp +13 -16
- data/source/bzs/db/protocol/tdap/client/fileDDF.h +11 -17
- data/source/bzs/db/protocol/tdap/client/filter.h +423 -259
- data/source/bzs/db/protocol/tdap/client/groupComp.h +117 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.cpp +818 -0
- data/source/bzs/db/protocol/tdap/client/groupQuery.h +281 -0
- data/source/bzs/db/protocol/tdap/client/indexDDF.cpp +14 -17
- data/source/bzs/db/protocol/tdap/client/indexDDF.h +11 -14
- data/source/bzs/db/protocol/tdap/client/memRecord.cpp +231 -0
- data/source/bzs/db/protocol/tdap/client/memRecord.h +145 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.cpp +448 -0
- data/source/bzs/db/protocol/tdap/client/memRecordset.h +159 -0
- data/source/bzs/db/protocol/tdap/client/nsDatabase.cpp +300 -173
- data/source/bzs/db/protocol/tdap/client/nsDatabase.h +53 -36
- data/source/bzs/db/protocol/tdap/client/nsTable.cpp +171 -128
- data/source/bzs/db/protocol/tdap/client/nsTable.h +121 -87
- data/source/bzs/db/protocol/tdap/client/pooledDatabaseManager.h +173 -0
- data/source/bzs/db/protocol/tdap/client/recordset.cpp +209 -0
- data/source/bzs/db/protocol/tdap/client/recordset.h +86 -0
- data/source/bzs/db/protocol/tdap/client/recordsetImple.h +596 -0
- data/source/bzs/db/protocol/tdap/client/request.h +227 -170
- data/source/bzs/db/protocol/tdap/client/serializer.cpp +1288 -0
- data/source/bzs/db/protocol/tdap/client/serializer.h +295 -0
- data/source/bzs/db/protocol/tdap/client/sharedData.cpp +9 -12
- data/source/bzs/db/protocol/tdap/client/sharedData.h +18 -16
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.cpp +494 -473
- data/source/bzs/db/protocol/tdap/client/sqlBuilder.h +51 -53
- data/source/bzs/db/protocol/tdap/client/stringConverter.h +214 -148
- data/source/bzs/db/protocol/tdap/client/table.cpp +929 -1665
- data/source/bzs/db/protocol/tdap/client/table.h +413 -87
- data/source/bzs/db/protocol/tdap/client/trdboostapi.h +642 -534
- data/source/bzs/db/protocol/tdap/client/trdboostapiInternal.h +25 -40
- data/source/bzs/db/protocol/tdap/client/trdclcppautolink.h +11 -15
- data/source/bzs/db/protocol/tdap/client/trdormapi.h +378 -437
- data/source/bzs/db/protocol/tdap/client/trnsctcl.def +1 -1
- data/source/bzs/db/protocol/tdap/fieldComp.h +127 -0
- data/source/bzs/db/protocol/tdap/myDateTime.cpp +352 -345
- data/source/bzs/db/protocol/tdap/mysql/characterset.cpp +75 -78
- data/source/bzs/db/protocol/tdap/mysql/characterset.h +18 -19
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.cpp +216 -199
- data/source/bzs/db/protocol/tdap/mysql/databaseSchema.h +23 -14
- data/source/bzs/db/protocol/tdap/mysql/debuglog.cpp +354 -314
- data/source/bzs/db/protocol/tdap/mysql/debuglog.h +57 -47
- data/source/bzs/db/protocol/tdap/mysql/recordsetReader.h +905 -739
- data/source/bzs/db/protocol/tdap/mysql/request.h +152 -159
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.cpp +1044 -879
- data/source/bzs/db/protocol/tdap/mysql/tdapCommandExecuter.h +87 -81
- data/source/bzs/db/protocol/tdap/tdapRequest.h +162 -130
- data/source/bzs/db/protocol/tdap/tdapSchema.cpp +368 -166
- data/source/bzs/db/protocol/tdap/tdapSchema.h +702 -566
- data/source/bzs/db/protocol/tdap/tdapcapi.h +387 -353
- data/source/bzs/db/transactd/appBuilderImple.h +21 -20
- data/source/bzs/db/transactd/appModule.cpp +350 -98
- data/source/bzs/db/transactd/appModule.h +31 -37
- data/source/bzs/db/transactd/connManager.cpp +138 -135
- data/source/bzs/db/transactd/connManager.h +28 -21
- data/source/bzs/db/transactd/connectionRecord.h +39 -39
- data/source/bzs/db/transactd/transactd.cpp +217 -203
- data/source/bzs/env/boost_bcb_link.h +131 -0
- data/source/bzs/env/compiler.h +136 -79
- data/source/bzs/env/crosscompile.cpp +57 -57
- data/source/bzs/env/crosscompile.h +130 -115
- data/source/bzs/env/fileopen.h +7 -8
- data/source/bzs/env/mbcswchrLinux.cpp +4 -9
- data/source/bzs/env/mbcswchrLinux.h +37 -34
- data/source/bzs/env/tcharMinGW.h +59 -0
- data/source/bzs/env/tstring.h +90 -95
- data/source/bzs/example/changeSchema.cpp +22 -23
- data/source/bzs/example/changeSchema_c.cpp +22 -24
- data/source/bzs/example/connection_pool_c.cpp +49 -104
- data/source/bzs/example/createDatabase.cpp +40 -47
- data/source/bzs/example/createDatabase_c.cpp +38 -43
- data/source/bzs/example/deleteRecords.cpp +10 -15
- data/source/bzs/example/deleteRecords_c.cpp +10 -14
- data/source/bzs/example/dropDatabase.cpp +3 -9
- data/source/bzs/example/dropDatabase_c.cpp +5 -6
- data/source/bzs/example/insertRecords.cpp +37 -29
- data/source/bzs/example/insertRecords_c.cpp +19 -25
- data/source/bzs/example/ormap_c.cpp +621 -0
- data/source/bzs/example/queryData.cpp +371 -0
- data/source/bzs/example/queryData.h +16 -0
- data/source/bzs/example/query_c.cpp +109 -0
- data/source/bzs/example/readRecords.cpp +27 -27
- data/source/bzs/example/readRecords_c.cpp +25 -23
- data/source/bzs/example/updateRecords.cpp +16 -21
- data/source/bzs/example/updateRecords_c.cpp +8 -12
- data/source/bzs/example/update_with_transaction.cpp +21 -24
- data/source/bzs/example/update_with_transaction_c.cpp +12 -15
- data/source/bzs/example/useORMRecord.cpp +177 -0
- data/source/bzs/netsvc/client/tcpClient.cpp +167 -156
- data/source/bzs/netsvc/client/tcpClient.h +541 -489
- data/source/bzs/netsvc/server/IAppModule.h +119 -32
- data/source/bzs/netsvc/server/iserver.h +21 -23
- data/source/bzs/netsvc/server/serverCpt.cpp +421 -391
- data/source/bzs/netsvc/server/serverCpt.h +41 -43
- data/source/bzs/netsvc/server/serverPipe.cpp +580 -565
- data/source/bzs/netsvc/server/serverPipe.h +44 -45
- data/source/bzs/netsvc/server/serverTpool.cpp +333 -303
- data/source/bzs/netsvc/server/serverTpool.h +38 -43
- data/source/bzs/rtl/benchmark.cpp +91 -31
- data/source/bzs/rtl/benchmark.h +76 -22
- data/source/bzs/rtl/datetime.cpp +231 -233
- data/source/bzs/rtl/datetime.h +16 -16
- data/source/bzs/rtl/debuglog.cpp +48 -51
- data/source/bzs/rtl/debuglog.h +55 -44
- data/source/bzs/rtl/exception.h +55 -48
- data/source/bzs/rtl/stl_uty.cpp +27 -28
- data/source/bzs/rtl/stl_uty.h +28 -29
- data/source/bzs/rtl/stringBuffers.cpp +8 -6
- data/source/bzs/rtl/stringBuffers.h +16 -9
- data/source/bzs/rtl/strtrim.cpp +90 -91
- data/source/bzs/rtl/strtrim.h +14 -16
- data/source/bzs/test/tdclatl/bench_query_atl.js +647 -0
- data/source/bzs/test/tdclatl/bench_tdclatl.js +303 -303
- data/source/bzs/test/tdclatl/test_query_atl.js +669 -0
- data/source/bzs/test/tdclphp/bench.php +357 -0
- data/source/bzs/test/tdclphp/transactd_Test.php +907 -303
- data/source/bzs/test/tdclphp/transactd_blob_Test.php +21 -49
- data/source/bzs/test/tdclphp/transactd_datetime_Test.php +41 -75
- data/source/bzs/test/tdclphp/transactd_kanjischema_Test.php +23 -37
- data/source/bzs/test/tdclphp/transactd_pool_Test.php +120 -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/source/bzs/test/transactdBench/query_bench.cpp +156 -0
- data/source/bzs/test/transactdBench/scaling_bench.cpp +265 -0
- data/source/bzs/test/transactdBench/transactdBench.cpp +107 -83
- data/source/bzs/test/transactdBench/transactdBench2.cpp +122 -83
- data/source/bzs/test/transactdBench/workerBase.cpp +5 -0
- data/source/bzs/test/transactdBench/workerBase.h +88 -0
- data/source/bzs/test/transactdBench/workerMySQLImple.h +333 -0
- data/source/bzs/test/transactdBench/workerTransactdImple.h +201 -0
- data/source/bzs/test/trdclengn/test_blob.cpp +121 -73
- data/source/bzs/test/trdclengn/test_trdclengn.cpp +1244 -426
- data/source/global/ormsrcgen/confParam.h +80 -0
- data/source/global/ormsrcgen/fieldName.cpp +77 -0
- data/source/global/ormsrcgen/fieldName.h +43 -0
- data/source/global/ormsrcgen/main.cpp +196 -0
- data/source/global/ormsrcgen/srcgen.cpp +763 -0
- data/source/global/ormsrcgen/srcgen.h +72 -0
- data/source/global/ormsrcgen/template/fieldNameList_sample.txt +2 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.cpp +48 -0
- data/source/global/ormsrcgen/template/ormDataClass_template.h +34 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.cpp +51 -0
- data/source/global/ormsrcgen/template/ormMapClass_template.h +62 -0
- data/source/global/ormsrcgen/template/template.cnf +38 -0
- data/source/global/querystmts/querystmts.cpp +237 -0
- data/source/global/tdclatl/ConnectParams.cpp +77 -0
- data/source/global/tdclatl/ConnectParams.h +70 -0
- data/source/global/tdclatl/Database.cpp +132 -128
- data/source/global/tdclatl/Database.h +60 -49
- data/source/global/tdclatl/DbDef.cpp +68 -64
- data/source/global/tdclatl/DbDef.h +36 -36
- data/source/global/tdclatl/Field.cpp +12 -17
- data/source/global/tdclatl/Field.h +15 -12
- data/source/global/tdclatl/FieldDef.cpp +75 -36
- data/source/global/tdclatl/FieldDef.h +38 -19
- data/source/global/tdclatl/FieldDefs.cpp +74 -0
- data/source/global/tdclatl/FieldDefs.h +56 -0
- data/source/global/tdclatl/FieldNames.cpp +99 -0
- data/source/global/tdclatl/FieldNames.h +66 -0
- data/source/global/tdclatl/Flags.cpp +75 -37
- data/source/global/tdclatl/Flags.h +13 -12
- data/source/global/tdclatl/GroupQuery.cpp +119 -0
- data/source/global/tdclatl/GroupQuery.h +65 -0
- data/source/global/tdclatl/KeyDef.cpp +15 -14
- data/source/global/tdclatl/KeyDef.h +20 -17
- data/source/global/tdclatl/KeySegment.cpp +13 -12
- data/source/global/tdclatl/PooledDbManager.cpp +223 -0
- data/source/global/tdclatl/PooledDbManager.h +76 -0
- data/source/global/tdclatl/QueryBase.cpp +206 -127
- data/source/global/tdclatl/QueryBase.h +55 -59
- data/source/global/tdclatl/Record.cpp +214 -0
- data/source/global/tdclatl/Record.h +96 -0
- data/source/global/tdclatl/Recordset.cpp +278 -0
- data/source/global/tdclatl/Recordset.h +83 -0
- data/source/global/tdclatl/RecordsetQuery.cpp +118 -0
- data/source/global/tdclatl/RecordsetQuery.h +126 -0
- data/source/global/tdclatl/Table.cpp +57 -60
- data/source/global/tdclatl/Table.h +32 -29
- data/source/global/tdclatl/TableDef.cpp +63 -62
- data/source/global/tdclatl/TableDef.h +20 -22
- data/source/global/tdclatl/TdVersion.cpp +3 -3
- data/source/global/tdclatl/TdVersion.h +15 -11
- data/source/global/tdclatl/_IDatabaseEvents_CP.h +99 -92
- data/source/global/tdclatl/activeTable.cpp +355 -0
- data/source/global/tdclatl/activeTable.h +79 -0
- data/source/global/tdclatl/dllmain.cpp +4 -3
- data/source/global/tdclatl/dllmain.h +7 -6
- data/source/global/tdclatl/keySegment.h +22 -18
- data/source/global/tdclatl/resource.h +0 -0
- data/source/global/tdclatl/stdafx.h +6 -4
- data/source/global/tdclatl/targetver.h +0 -1
- data/source/global/tdclatl/tdclatl.cpp +10 -5
- data/source/global/tdclatl/tdclatl.idl +530 -14
- data/source/linux/charsetConvert.h +78 -79
- data/source/linux/linuxTypes.h +9 -12
- data/source/linux/tchar.h +168 -166
- data/transactd.gemspec +24 -16
- metadata +98 -12
- data/bin/common/tdclc_32_1_2.dll +0 -0
- data/bin/common/tdclc_64_1_2.dll +0 -0
- data/build/tdclc/tdclc_32.cbproj +0 -173
- data/build/tdclcpp/tdclcpp_bcb_32.cbproj +0 -232
- data/build/tdclrb/GEM_VERSION +0 -3
- data/source/bzs/db/protocol/tdap/client/filter.cpp +0 -43
- data/source/bzs/example/useORM.cpp +0 -585
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
GNU General Public License for more details.
|
|
15
15
|
|
|
16
16
|
You should have received a copy of the GNU General Public License
|
|
17
|
-
along with this program; if not, write to the Free Software
|
|
18
|
-
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
|
+
along with this program; if not, write to the Free Software
|
|
18
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
19
19
|
02111-1307, USA.
|
|
20
20
|
=================================================================*/
|
|
21
21
|
#include <bzs/db/engine/mysql/dbManager.h>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
#include <bzs/env/crosscompile.h>
|
|
24
24
|
|
|
25
25
|
namespace bzs
|
|
26
|
-
{
|
|
26
|
+
{
|
|
27
27
|
namespace db
|
|
28
28
|
{
|
|
29
29
|
namespace protocol
|
|
@@ -31,83 +31,83 @@ namespace protocol
|
|
|
31
31
|
namespace hs
|
|
32
32
|
{
|
|
33
33
|
|
|
34
|
-
#define HS_OP_READ
|
|
35
|
-
#define HS_OP_OPEN
|
|
36
|
-
#define HS_OP_AUTH
|
|
37
|
-
#define HS_OP_INSERT
|
|
38
|
-
#define HS_OP_DELETE
|
|
39
|
-
#define HS_OP_UPDATE
|
|
40
|
-
#define HS_OP_UPDATE_INC
|
|
41
|
-
#define HS_OP_UPDATE_DEC
|
|
42
|
-
#define HS_OP_QUIT
|
|
43
|
-
|
|
44
|
-
#define HS_LG_EQUAL
|
|
45
|
-
#define HS_LG_GREATER
|
|
46
|
-
#define HS_LG_LESS
|
|
47
|
-
#define HS_LG_NOTEQUAL
|
|
48
|
-
#define HS_LG_GREATEROREQUAL
|
|
49
|
-
#define HS_LG_LESSOREQUAL
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
#define
|
|
53
|
-
#define
|
|
54
|
-
#define INDEXNAME_SIZE 64
|
|
34
|
+
#define HS_OP_READ 'R'
|
|
35
|
+
#define HS_OP_OPEN 'P'
|
|
36
|
+
#define HS_OP_AUTH 'A'
|
|
37
|
+
#define HS_OP_INSERT '+'
|
|
38
|
+
#define HS_OP_DELETE 'D'
|
|
39
|
+
#define HS_OP_UPDATE 'U'
|
|
40
|
+
#define HS_OP_UPDATE_INC '+' + 0xff
|
|
41
|
+
#define HS_OP_UPDATE_DEC '-'
|
|
42
|
+
#define HS_OP_QUIT 'Q'
|
|
43
|
+
|
|
44
|
+
#define HS_LG_EQUAL '='
|
|
45
|
+
#define HS_LG_GREATER '>'
|
|
46
|
+
#define HS_LG_LESS '<'
|
|
47
|
+
#define HS_LG_NOTEQUAL '<' + 0xfe //<>
|
|
48
|
+
#define HS_LG_GREATEROREQUAL '>' + 0xff //>=
|
|
49
|
+
#define HS_LG_LESSOREQUAL '<' + 0xff //<=
|
|
50
|
+
|
|
51
|
+
#define DEBNAME_SIZE 64
|
|
52
|
+
#define TABELNAME_SIZE 64
|
|
53
|
+
#define INDEXNAME_SIZE 64
|
|
55
54
|
|
|
56
55
|
#define HS_OP_RESULTBUFSIZE 64000
|
|
57
56
|
|
|
58
57
|
//-----------------------------------------------------------------------
|
|
58
|
+
|
|
59
59
|
// result buffer
|
|
60
60
|
//-----------------------------------------------------------------------
|
|
61
61
|
|
|
62
62
|
class resultBuffer
|
|
63
63
|
{
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
char* m_ptr;
|
|
65
|
+
char* m_cur;
|
|
66
66
|
|
|
67
67
|
public:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
68
|
+
resultBuffer(char* ptr) : m_ptr(ptr), m_cur(m_ptr) {}
|
|
69
|
+
|
|
70
|
+
void append(const char* ptr, size_t size)
|
|
71
|
+
{
|
|
72
|
+
const char* p = ptr;
|
|
73
|
+
const char* end = ptr + size;
|
|
74
|
+
for (; p < end; ++p)
|
|
75
|
+
{
|
|
76
|
+
if ((*p >= 0x00) && (*p <= 0x10))
|
|
77
|
+
{
|
|
78
|
+
*m_cur = 0x01;
|
|
79
|
+
*(++m_cur) = *p + 0x40;
|
|
80
|
+
}
|
|
81
|
+
else
|
|
82
|
+
*m_cur = *p;
|
|
83
|
+
++m_cur;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
void append(const char* ptr)
|
|
88
|
+
{
|
|
89
|
+
const char* p = ptr;
|
|
90
|
+
while (*p)
|
|
91
|
+
{
|
|
92
|
+
*m_cur = *p;
|
|
93
|
+
++p;
|
|
94
|
+
++m_cur;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
void append(int v)
|
|
99
|
+
{
|
|
100
|
+
char tmp[50];
|
|
101
|
+
sprintf_s(tmp, 50, "%d", v);
|
|
102
|
+
append(tmp);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
size_t size()
|
|
106
|
+
{
|
|
107
|
+
*m_ptr = 0x00;
|
|
108
|
+
return m_cur - m_ptr;
|
|
109
|
+
}
|
|
110
|
+
const char* c_str() { return m_ptr; }
|
|
111
111
|
};
|
|
112
112
|
//-----------------------------------------------------------------------
|
|
113
113
|
// request
|
|
@@ -115,114 +115,111 @@ public:
|
|
|
115
115
|
|
|
116
116
|
struct request
|
|
117
117
|
{
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
118
|
+
short op;
|
|
119
|
+
int handle;
|
|
120
|
+
|
|
121
|
+
struct result
|
|
122
|
+
{
|
|
123
|
+
result() : limit(1), offset(0), returnBeforeValue(0){};
|
|
124
|
+
int limit;
|
|
125
|
+
int offset;
|
|
126
|
+
bool returnBeforeValue;
|
|
127
|
+
} result;
|
|
128
|
+
|
|
129
|
+
struct db
|
|
130
|
+
{
|
|
131
|
+
char name[DEBNAME_SIZE];
|
|
132
|
+
} db;
|
|
133
|
+
|
|
134
|
+
struct table
|
|
135
|
+
{
|
|
136
|
+
table() : openMode(0) {}
|
|
137
|
+
char name[TABELNAME_SIZE];
|
|
138
|
+
short openMode;
|
|
139
|
+
|
|
140
|
+
struct key
|
|
141
|
+
{
|
|
142
|
+
key() : logical(0){};
|
|
143
|
+
char name[INDEXNAME_SIZE];
|
|
144
|
+
std::vector<std::string> values;
|
|
145
|
+
short logical;
|
|
146
|
+
} key;
|
|
147
|
+
|
|
148
|
+
std::string fields;
|
|
149
|
+
std::vector<std::string> values;
|
|
150
|
+
struct in
|
|
151
|
+
{
|
|
152
|
+
in() : keypart(0) {}
|
|
153
|
+
uint keypart;
|
|
154
|
+
std::vector<std::string> values;
|
|
155
|
+
} in;
|
|
156
|
+
|
|
157
|
+
struct filter
|
|
158
|
+
{
|
|
159
|
+
filter() : type(0), logical(0), col(0) {}
|
|
160
|
+
char type;
|
|
161
|
+
short logical;
|
|
162
|
+
short col;
|
|
163
|
+
std::string value;
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
typedef std::vector<filter> filters_type;
|
|
167
|
+
filters_type filters;
|
|
168
|
+
|
|
169
|
+
} table;
|
|
170
|
+
|
|
171
|
+
request() : op(HS_OP_READ), handle(0) {}
|
|
172
|
+
ha_rkey_function seekFlag();
|
|
173
|
+
bool naviForward();
|
|
174
|
+
bool naviSame();
|
|
175
175
|
};
|
|
176
176
|
|
|
177
|
-
|
|
178
|
-
|
|
179
177
|
//-----------------------------------------------------------------------
|
|
180
178
|
// class dbExecuter
|
|
181
179
|
//-----------------------------------------------------------------------
|
|
182
|
-
/** Current, no support auth command .
|
|
180
|
+
/** Current, no support auth command .
|
|
183
181
|
*/
|
|
184
182
|
typedef int (*changeFunc)(request& req, engine::mysql::table* tb, int type);
|
|
185
183
|
class dbExecuter : public engine::mysql::dbManager
|
|
186
184
|
{
|
|
187
|
-
|
|
188
|
-
|
|
185
|
+
void doRecordOperation(request& req, engine::mysql::table* tb,
|
|
186
|
+
resultBuffer& buf, changeFunc func);
|
|
187
|
+
inline int readAfter(request& req, engine::mysql::table* tb,
|
|
188
|
+
resultBuffer& buf, changeFunc func);
|
|
189
189
|
|
|
190
190
|
public:
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
191
|
+
int commandExec(std::vector<request>& requests,
|
|
192
|
+
netsvc::server::netWriter* nw);
|
|
193
|
+
int errorCode(int ha_error) { return 0; };
|
|
194
194
|
};
|
|
195
195
|
|
|
196
196
|
//-----------------------------------------------------------------------
|
|
197
197
|
// class commandExecuter
|
|
198
198
|
//-----------------------------------------------------------------------
|
|
199
|
-
class commandExecuter :
|
|
199
|
+
class commandExecuter : public ICommandExecuter,
|
|
200
|
+
public engine::mysql::igetDatabases
|
|
200
201
|
{
|
|
201
|
-
|
|
202
|
-
|
|
202
|
+
boost::shared_ptr<dbExecuter> m_dbExec;
|
|
203
|
+
mutable std::vector<request> m_requests;
|
|
203
204
|
|
|
204
205
|
public:
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
206
|
+
commandExecuter(__int64 parent);
|
|
207
|
+
~commandExecuter();
|
|
208
|
+
size_t perseRequestEnd(const char* p, size_t size, bool& comp) const;
|
|
209
|
+
size_t getAcceptMessage(char* message, size_t size) { return 0; };
|
|
210
|
+
bool parse(const char* p, size_t size);
|
|
211
|
+
int execute(netsvc::server::netWriter* nw)
|
|
212
|
+
{
|
|
213
|
+
return m_dbExec->commandExec(m_requests, nw);
|
|
214
|
+
}
|
|
215
|
+
void cleanup(){};
|
|
216
|
+
bool isShutDown() { return m_dbExec->isShutDown(); }
|
|
217
|
+
const engine::mysql::databases& dbs() const { return m_dbExec->dbs(); };
|
|
218
218
|
};
|
|
219
219
|
|
|
220
|
+
} // namespace hs
|
|
221
|
+
} // namespace protocol
|
|
222
|
+
} // namespace db
|
|
223
|
+
} // namespace bzs
|
|
220
224
|
|
|
221
|
-
|
|
222
|
-
}//namespace protocol
|
|
223
|
-
}//namespace db
|
|
224
|
-
}//namespace bzs
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
#endif //BZS_DB_PROTOCOL_HS_HSCOMMANDEXECUTER_H
|
|
228
|
-
|
|
225
|
+
#endif // BZS_DB_PROTOCOL_HS_HSCOMMANDEXECUTER_H
|