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
|
@@ -31,11 +31,11 @@ namespace protocol
|
|
|
31
31
|
namespace tdap
|
|
32
32
|
{
|
|
33
33
|
|
|
34
|
-
#pragma
|
|
35
|
-
pragma_pack1
|
|
34
|
+
#pragma pack(push, 1)
|
|
35
|
+
pragma_pack1;
|
|
36
36
|
|
|
37
37
|
#ifdef SWIG
|
|
38
|
-
/* For swig interface
|
|
38
|
+
/* For swig interface
|
|
39
39
|
export field names.
|
|
40
40
|
*/
|
|
41
41
|
union btrDate
|
|
@@ -62,7 +62,7 @@ union btrDateTime
|
|
|
62
62
|
__int64 i64;
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
-
#else
|
|
65
|
+
#else
|
|
66
66
|
|
|
67
67
|
union btrDate
|
|
68
68
|
{
|
|
@@ -74,7 +74,6 @@ union btrDate
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
int i;
|
|
77
|
-
|
|
78
77
|
};
|
|
79
78
|
|
|
80
79
|
union btrTime
|
|
@@ -99,15 +98,12 @@ union btrDateTime
|
|
|
99
98
|
};
|
|
100
99
|
|
|
101
100
|
__int64 i64;
|
|
102
|
-
|
|
103
101
|
};
|
|
104
102
|
|
|
105
|
-
#endif //SWIG
|
|
106
|
-
|
|
103
|
+
#endif // SWIG
|
|
107
104
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
pragma_pop
|
|
105
|
+
#pragma pack(pop)
|
|
106
|
+
pragma_pop;
|
|
111
107
|
|
|
112
108
|
class PACKAGE btrTimeStamp
|
|
113
109
|
{
|
|
@@ -119,7 +115,7 @@ public:
|
|
|
119
115
|
|
|
120
116
|
explicit btrTimeStamp(unsigned __int64 i);
|
|
121
117
|
explicit btrTimeStamp(const char* p);
|
|
122
|
-
|
|
118
|
+
btrTimeStamp(btrDate d, btrTime t);
|
|
123
119
|
#ifdef _WIN32
|
|
124
120
|
explicit btrTimeStamp(const wchar_t* p);
|
|
125
121
|
wchar_t* toString(wchar_t* retbuf);
|
|
@@ -127,10 +123,8 @@ public:
|
|
|
127
123
|
#endif
|
|
128
124
|
char* toString(char* retbuf);
|
|
129
125
|
void fromString(const char* p);
|
|
130
|
-
|
|
131
126
|
};
|
|
132
127
|
|
|
133
|
-
|
|
134
128
|
// Class bdate is for btrDate
|
|
135
129
|
|
|
136
130
|
class PACKAGE bdate
|
|
@@ -144,24 +138,23 @@ public:
|
|
|
144
138
|
const _TCHAR* month_str();
|
|
145
139
|
const _TCHAR* date_str();
|
|
146
140
|
|
|
147
|
-
int year() {return m_date.yy;};
|
|
141
|
+
int year() { return m_date.yy; };
|
|
148
142
|
|
|
149
|
-
int date() {return m_date.dd;};
|
|
143
|
+
int date() { return m_date.dd; };
|
|
150
144
|
|
|
151
|
-
int month() {return m_date.mm;};
|
|
145
|
+
int month() { return m_date.mm; };
|
|
152
146
|
|
|
153
|
-
btrDate btr_date() {return m_date;};
|
|
147
|
+
btrDate btr_date() { return m_date; };
|
|
154
148
|
const _TCHAR* c_str();
|
|
155
149
|
};
|
|
156
150
|
|
|
157
151
|
PACKAGE btrDate atobtrd(const char* date);
|
|
158
152
|
|
|
153
|
+
PACKAGE const char* btrdtoa(const btrDate& d, char* retbuf,
|
|
154
|
+
bool type_vb = false);
|
|
159
155
|
|
|
160
|
-
PACKAGE const char*
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
PACKAGE const char* btrttoa(const btrTime& t, char* retbuf, bool type_vb = false);
|
|
164
|
-
|
|
156
|
+
PACKAGE const char* btrttoa(const btrTime& t, char* retbuf,
|
|
157
|
+
bool type_vb = false);
|
|
165
158
|
|
|
166
159
|
PACKAGE btrTime atobtrt(const char* p);
|
|
167
160
|
|
|
@@ -177,15 +170,16 @@ inline const char* btrttoa(int time, char* retbuf, bool type_vb = false)
|
|
|
177
170
|
btrTime t;
|
|
178
171
|
t.i = time;
|
|
179
172
|
return btrttoa(t, retbuf, type_vb);
|
|
180
|
-
|
|
181
173
|
}
|
|
182
174
|
|
|
183
175
|
#ifdef _WIN32
|
|
184
176
|
PACKAGE btrDate atobtrd(const wchar_t* date);
|
|
185
177
|
|
|
186
|
-
PACKAGE const wchar_t* btrdtoa(const btrDate& d, wchar_t* retbuf,
|
|
178
|
+
PACKAGE const wchar_t* btrdtoa(const btrDate& d, wchar_t* retbuf,
|
|
179
|
+
bool type_vb = false);
|
|
187
180
|
|
|
188
|
-
PACKAGE const wchar_t* btrttoa(const btrTime& t, wchar_t* retbuf,
|
|
181
|
+
PACKAGE const wchar_t* btrttoa(const btrTime& t, wchar_t* retbuf,
|
|
182
|
+
bool type_vb = false);
|
|
189
183
|
|
|
190
184
|
PACKAGE btrTime atobtrt(const wchar_t* p);
|
|
191
185
|
|
|
@@ -201,27 +195,35 @@ inline const wchar_t* btrttoa(int time, wchar_t* retbuf, bool type_vb = false)
|
|
|
201
195
|
btrTime t;
|
|
202
196
|
t.i = time;
|
|
203
197
|
return btrttoa(t, retbuf, type_vb);
|
|
204
|
-
|
|
205
198
|
}
|
|
206
199
|
|
|
207
200
|
#endif
|
|
208
201
|
|
|
209
|
-
PACKAGE const _TCHAR* btrstoa(const btrDateTime& d, _TCHAR* retbuf = NULL,
|
|
202
|
+
PACKAGE const _TCHAR* btrstoa(const btrDateTime& d, _TCHAR* retbuf = NULL,
|
|
203
|
+
bool type_vb = false);
|
|
210
204
|
|
|
211
205
|
PACKAGE btrDateTime atobtrs(const _TCHAR* p);
|
|
212
206
|
|
|
207
|
+
inline const _TCHAR* c_str(const btrDate& d)
|
|
208
|
+
{
|
|
209
|
+
return btrdtoa(d, (_TCHAR*)NULL);
|
|
210
|
+
}
|
|
213
211
|
|
|
214
|
-
inline const _TCHAR* c_str(const
|
|
212
|
+
inline const _TCHAR* c_str(const btrTime& d)
|
|
213
|
+
{
|
|
214
|
+
return btrttoa(d, (_TCHAR*)NULL);
|
|
215
|
+
}
|
|
215
216
|
|
|
216
|
-
inline const _TCHAR* c_str(const
|
|
217
|
+
inline const _TCHAR* c_str(const btrDateTime& d, bool type_vb = false)
|
|
218
|
+
{
|
|
219
|
+
return btrstoa(d, (_TCHAR*)NULL, type_vb);
|
|
220
|
+
}
|
|
217
221
|
|
|
218
222
|
PACKAGE int getNowDate();
|
|
219
223
|
PACKAGE int getNowTime();
|
|
220
224
|
|
|
221
|
-
|
|
222
|
-
}// namespace
|
|
223
|
-
}// namespace
|
|
224
|
-
}// namespace
|
|
225
|
-
|
|
226
|
-
#endif//BZS_DB_PROTOCOL_TDAP_BTRDATE_H
|
|
227
|
-
|
|
225
|
+
} // namespace tdap
|
|
226
|
+
} // namespace protocol
|
|
227
|
+
} // namespace db
|
|
228
|
+
} // namespace bzs
|
|
229
|
+
#endif // BZS_DB_PROTOCOL_TDAP_BTRDATE_H
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/*=================================================================
|
|
2
|
+
Copyright (C) 2014 BizStation Corp All rights reserved.
|
|
3
|
+
|
|
4
|
+
This program is free software; you can redistribute it and/or
|
|
5
|
+
modify it under the terms of the GNU General Public License
|
|
6
|
+
as published by the Free Software Foundation; either version 2
|
|
7
|
+
of the License, or (at your option) any later version.
|
|
8
|
+
|
|
9
|
+
This program is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with this program; if not, write to the Free Software
|
|
16
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
|
17
|
+
02111-1307, USA.
|
|
18
|
+
=================================================================*/
|
|
19
|
+
#pragma hdrstop
|
|
20
|
+
|
|
21
|
+
#include "activeTable.h"
|
|
22
|
+
#include "activeTableImple.h"
|
|
23
|
+
|
|
24
|
+
#pragma package(smart_init)
|
|
25
|
+
|
|
26
|
+
namespace bzs
|
|
27
|
+
{
|
|
28
|
+
namespace db
|
|
29
|
+
{
|
|
30
|
+
namespace protocol
|
|
31
|
+
{
|
|
32
|
+
namespace tdap
|
|
33
|
+
{
|
|
34
|
+
namespace client
|
|
35
|
+
{
|
|
36
|
+
|
|
37
|
+
query* query::create()
|
|
38
|
+
{
|
|
39
|
+
return new query();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
activeTable::activeTable(idatabaseManager* mgr, const _TCHAR* tableName)
|
|
43
|
+
: m_imple(new activeTableImple(mgr, tableName))
|
|
44
|
+
{
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
activeTable::activeTable(dbmanager_ptr& mgr, const _TCHAR* tableName)
|
|
48
|
+
: m_imple(new activeTableImple(mgr.get(), tableName))
|
|
49
|
+
{
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
activeTable::activeTable(database_ptr& db, const _TCHAR* tableName)
|
|
53
|
+
: m_imple(new activeTableImple(db, tableName))
|
|
54
|
+
{
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
activeTable::activeTable(database* db, const _TCHAR* tableName)
|
|
58
|
+
: m_imple(new activeTableImple(db, tableName))
|
|
59
|
+
{
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
activeTable::~activeTable()
|
|
63
|
+
{
|
|
64
|
+
delete m_imple;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
table_ptr activeTable::table() const
|
|
68
|
+
{
|
|
69
|
+
return m_imple->table();
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
activeTable& activeTable::alias(const _TCHAR* src, const _TCHAR* dst)
|
|
73
|
+
{
|
|
74
|
+
m_imple->alias(src, dst);
|
|
75
|
+
return *this;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
activeTable& activeTable::resetAlias()
|
|
79
|
+
{
|
|
80
|
+
m_imple->resetAlias();
|
|
81
|
+
return *this;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
writableRecord& activeTable::getWritableRecord()
|
|
85
|
+
{
|
|
86
|
+
return m_imple->getWritableRecord();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
activeTable& activeTable::join(recordset& rs, queryBase& q, const _TCHAR* name1,
|
|
90
|
+
const _TCHAR* name2, const _TCHAR* name3,
|
|
91
|
+
const _TCHAR* name4, const _TCHAR* name5,
|
|
92
|
+
const _TCHAR* name6, const _TCHAR* name7,
|
|
93
|
+
const _TCHAR* name8, const _TCHAR* name9,
|
|
94
|
+
const _TCHAR* name10, const _TCHAR* name11)
|
|
95
|
+
{
|
|
96
|
+
m_imple->join(*rs.m_imple, q, name1, name2, name3, name4, name5, name6,
|
|
97
|
+
name7, name8);
|
|
98
|
+
return *this;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
activeTable& activeTable::outerJoin(recordset& rs, queryBase& q,
|
|
102
|
+
const _TCHAR* name1, const _TCHAR* name2,
|
|
103
|
+
const _TCHAR* name3, const _TCHAR* name4,
|
|
104
|
+
const _TCHAR* name5, const _TCHAR* name6,
|
|
105
|
+
const _TCHAR* name7, const _TCHAR* name8,
|
|
106
|
+
const _TCHAR* name9, const _TCHAR* name10,
|
|
107
|
+
const _TCHAR* name11)
|
|
108
|
+
{
|
|
109
|
+
m_imple->outerJoin(*rs.m_imple, q, name1, name2, name3, name4, name5, name6,
|
|
110
|
+
name7, name8);
|
|
111
|
+
return *this;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
activeTable& activeTable::index(int v)
|
|
115
|
+
{
|
|
116
|
+
m_imple->index(v);
|
|
117
|
+
return *this;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
activeTable& activeTable::option(int v)
|
|
121
|
+
{
|
|
122
|
+
m_imple->option(v);
|
|
123
|
+
return *this;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
activeTable& activeTable::read(recordset& rs, queryBase& q)
|
|
127
|
+
{
|
|
128
|
+
|
|
129
|
+
m_imple->read(*rs.m_imple, q);
|
|
130
|
+
return *this;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
activeTable& activeTable::read(recordset& rs, queryBase& q, validationFunc func)
|
|
134
|
+
{
|
|
135
|
+
m_imple->read(*rs.m_imple, q, func);
|
|
136
|
+
return *this;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
activeTable* activeTable::create(idatabaseManager* mgr, const _TCHAR* tableName)
|
|
140
|
+
{
|
|
141
|
+
return new activeTable(mgr, tableName);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
activeTable* activeTable::create(dbmanager_ptr& mgr, const _TCHAR* tableName)
|
|
145
|
+
{
|
|
146
|
+
return new activeTable(mgr, tableName);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
activeTable* activeTable::create(database_ptr& db, const _TCHAR* tableName)
|
|
150
|
+
{
|
|
151
|
+
return new activeTable(db, tableName);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
activeTable* activeTable::create(database* db, const _TCHAR* tableName)
|
|
155
|
+
{
|
|
156
|
+
return new activeTable(db, tableName);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
void activeTable::release()
|
|
160
|
+
{
|
|
161
|
+
delete this;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
void activeTable::releaseTable()
|
|
165
|
+
{
|
|
166
|
+
m_imple->releaseTable();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
} // namespace client
|
|
170
|
+
} // namespace tdap
|
|
171
|
+
} // namespace protocol
|
|
172
|
+
} // namespace db
|
|
173
|
+
} // namespace bzs
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
#ifndef BZS_DB_PROTOCOL_TDAP_CLIENT_ACTIVETABLE_H
|
|
2
|
+
#define BZS_DB_PROTOCOL_TDAP_CLIENT_ACTIVETABLE_H
|
|
3
|
+
/* =================================================================
|
|
4
|
+
Copyright (C) 2014 BizStation Corp All rights reserved.
|
|
5
|
+
|
|
6
|
+
This program is free software; you can redistribute it and/or
|
|
7
|
+
modify it under the terms of the GNU General Public License
|
|
8
|
+
as published by the Free Software Foundation; either version 2
|
|
9
|
+
of the License, or (at your option) any later version.
|
|
10
|
+
|
|
11
|
+
This program is distributed in the hope that it will be useful,
|
|
12
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14
|
+
GNU General Public License for more details.
|
|
15
|
+
|
|
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
|
|
19
|
+
02111-1307, USA.
|
|
20
|
+
================================================================= */
|
|
21
|
+
#include "recordset.h"
|
|
22
|
+
#include "memRecord.h"
|
|
23
|
+
|
|
24
|
+
namespace bzs
|
|
25
|
+
{
|
|
26
|
+
namespace db
|
|
27
|
+
{
|
|
28
|
+
namespace protocol
|
|
29
|
+
{
|
|
30
|
+
namespace tdap
|
|
31
|
+
{
|
|
32
|
+
namespace client
|
|
33
|
+
{
|
|
34
|
+
|
|
35
|
+
class DLLLIB activeTable
|
|
36
|
+
{
|
|
37
|
+
class activeTableImple* m_imple;
|
|
38
|
+
|
|
39
|
+
activeTable(const activeTable& r);
|
|
40
|
+
activeTable& operator=(const activeTable& r);
|
|
41
|
+
|
|
42
|
+
public:
|
|
43
|
+
explicit activeTable(idatabaseManager* mgr, const _TCHAR* tableName);
|
|
44
|
+
explicit activeTable(dbmanager_ptr& mgr, const _TCHAR* tableName);
|
|
45
|
+
explicit activeTable(database_ptr& db, const _TCHAR* tableName);
|
|
46
|
+
explicit activeTable(database* db, const _TCHAR* tableName);
|
|
47
|
+
|
|
48
|
+
~activeTable();
|
|
49
|
+
|
|
50
|
+
activeTable& alias(const _TCHAR* src, const _TCHAR* dst);
|
|
51
|
+
|
|
52
|
+
activeTable& resetAlias();
|
|
53
|
+
|
|
54
|
+
writableRecord& getWritableRecord();
|
|
55
|
+
|
|
56
|
+
activeTable& join(recordset& mdls, queryBase& q, const _TCHAR* name1,
|
|
57
|
+
const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
|
|
58
|
+
const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
|
|
59
|
+
const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
|
|
60
|
+
const _TCHAR* name8 = NULL, const _TCHAR* name9 = NULL,
|
|
61
|
+
const _TCHAR* name10 = NULL, const _TCHAR* name11 = NULL);
|
|
62
|
+
|
|
63
|
+
activeTable&
|
|
64
|
+
outerJoin(recordset& mdls, queryBase& q, const _TCHAR* name1,
|
|
65
|
+
const _TCHAR* name2 = NULL, const _TCHAR* name3 = NULL,
|
|
66
|
+
const _TCHAR* name4 = NULL, const _TCHAR* name5 = NULL,
|
|
67
|
+
const _TCHAR* name6 = NULL, const _TCHAR* name7 = NULL,
|
|
68
|
+
const _TCHAR* name8 = NULL, const _TCHAR* name9 = NULL,
|
|
69
|
+
const _TCHAR* name10 = NULL, const _TCHAR* name11 = NULL);
|
|
70
|
+
|
|
71
|
+
activeTable& index(int v);
|
|
72
|
+
table_ptr table() const;
|
|
73
|
+
activeTable& option(int v);
|
|
74
|
+
activeTable& read(recordset& mdls, queryBase& q);
|
|
75
|
+
activeTable& read(recordset& mdls, queryBase& q, validationFunc func);
|
|
76
|
+
|
|
77
|
+
/** @cond INTERNAL */
|
|
78
|
+
|
|
79
|
+
template <class T0> activeTable& keyValue(const T0 kv0)
|
|
80
|
+
{
|
|
81
|
+
keyValueSetter<T0>::set(table(), table()->keyNum(), kv0);
|
|
82
|
+
return *this;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
template <class T0, class T1>
|
|
86
|
+
activeTable& keyValue(const T0 kv0, const T1 kv1)
|
|
87
|
+
{
|
|
88
|
+
keyValueSetter<T0, T1>::set(table(), table()->keyNum(), kv0, kv1);
|
|
89
|
+
return *this;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
template <class T0, class T1, class T2>
|
|
93
|
+
activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2)
|
|
94
|
+
{
|
|
95
|
+
keyValueSetter<T0, T1, T2>::set(table(), table()->keyNum(), kv0, kv1,
|
|
96
|
+
kv2);
|
|
97
|
+
return *this;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
template <class T0, class T1, class T2, class T3>
|
|
101
|
+
activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
|
|
102
|
+
const T3 kv3)
|
|
103
|
+
{
|
|
104
|
+
keyValueSetter<T0, T1, T2, T3>::set(table(), table()->keyNum(), kv0,
|
|
105
|
+
kv1, kv2, kv3);
|
|
106
|
+
return *this;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
template <class T0, class T1, class T2, class T3, class T4>
|
|
110
|
+
activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
|
|
111
|
+
const T3 kv3, const T4 kv4)
|
|
112
|
+
{
|
|
113
|
+
keyValueSetter<T0, T1, T2, T3, T4>::set(table(), table()->keyNum(), kv0,
|
|
114
|
+
kv1, kv2, kv3, kv4);
|
|
115
|
+
return *this;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
template <class T0, class T1, class T2, class T3, class T4, class T5>
|
|
119
|
+
activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
|
|
120
|
+
const T3 kv3, const T4 kv4, const T5 kv5)
|
|
121
|
+
{
|
|
122
|
+
keyValueSetter<T0, T1, T2, T3, T4, T5>::set(
|
|
123
|
+
table(), table()->keyNum(), kv0, kv1, kv2, kv3, kv4, kv5);
|
|
124
|
+
return *this;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
template <class T0, class T1, class T2, class T3, class T4, class T5,
|
|
128
|
+
class T6>
|
|
129
|
+
activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
|
|
130
|
+
const T3 kv3, const T4 kv4, const T5 kv5,
|
|
131
|
+
const T6 kv6)
|
|
132
|
+
{
|
|
133
|
+
keyValueSetter<T0, T1, T2, T3, T4, T5, T6>::set(
|
|
134
|
+
table(), table()->keyNum(), kv0, kv1, kv2, kv3, kv4, kv5, kv6);
|
|
135
|
+
return *this;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/** @endcond */
|
|
139
|
+
|
|
140
|
+
template <class T0, class T1, class T2, class T3, class T4, class T5,
|
|
141
|
+
class T6, class T7>
|
|
142
|
+
activeTable& keyValue(const T0 kv0, const T1 kv1, const T2 kv2,
|
|
143
|
+
const T3 kv3, const T4 kv4, const T5 kv5,
|
|
144
|
+
const T6 kv6, const T7 kv7)
|
|
145
|
+
{
|
|
146
|
+
keyValueSetter<T0, T1, T2, T3, T4, T5, T6, T7>::set(
|
|
147
|
+
table(), table()->keyNum(), kv0, kv1, kv2, kv3, kv4, kv5, kv6, kv7);
|
|
148
|
+
return *this;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
static activeTable* create(idatabaseManager* mgr, const _TCHAR* tableName);
|
|
152
|
+
static activeTable* create(dbmanager_ptr& mgr, const _TCHAR* tableName);
|
|
153
|
+
static activeTable* create(database_ptr& db, const _TCHAR* tableName);
|
|
154
|
+
static activeTable* create(database* db, const _TCHAR* tableName);
|
|
155
|
+
void release();
|
|
156
|
+
void releaseTable();
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
} // namespace client
|
|
160
|
+
} // namespace tdap
|
|
161
|
+
} // namespace protocol
|
|
162
|
+
} // namespace db
|
|
163
|
+
} // namespace bzs
|
|
164
|
+
|
|
165
|
+
#endif // BZS_DB_PROTOCOL_TDAP_CLIENT_ACTIVETABLE_H
|