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
|
@@ -6,13 +6,12 @@
|
|
|
6
6
|
using namespace bzs::db::protocol::tdap::client;
|
|
7
7
|
using namespace bzs::db::protocol::tdap;
|
|
8
8
|
|
|
9
|
-
|
|
10
9
|
/**
|
|
11
10
|
@brief create database example
|
|
12
11
|
|
|
13
12
|
This program create "test" database and
|
|
14
13
|
"test" table. The table of "test" has schema data.
|
|
15
|
-
And it call "
|
|
14
|
+
And it call "schema table".
|
|
16
15
|
|
|
17
16
|
database name : 'test'
|
|
18
17
|
|
|
@@ -61,14 +60,13 @@ table 'picture' tableid = 3
|
|
|
61
60
|
|
|
62
61
|
*/
|
|
63
62
|
|
|
64
|
-
|
|
65
63
|
/** show database operation error
|
|
66
64
|
*/
|
|
67
|
-
void showError(const _TCHAR* caption,const _TCHAR* tableName, short statusCode)
|
|
65
|
+
void showError(const _TCHAR* caption, const _TCHAR* tableName, short statusCode)
|
|
68
66
|
{
|
|
69
|
-
_TCHAR tmp[1024]={0x00};
|
|
67
|
+
_TCHAR tmp[1024] = { 0x00 };
|
|
70
68
|
nstable::tdapErr(0x00, statusCode, tableName, tmp);
|
|
71
|
-
_tprintf(_T("%s
|
|
69
|
+
_tprintf(_T("[ERROR] %s No.%ld %s\n"), caption, statusCode, tmp);
|
|
72
70
|
}
|
|
73
71
|
|
|
74
72
|
/** Create mysql database and empty schema table
|
|
@@ -102,11 +100,11 @@ bool openDbExclusive(database* db, const _TCHAR* uri)
|
|
|
102
100
|
bool createUserTableSchema(dbdef* def)
|
|
103
101
|
{
|
|
104
102
|
|
|
105
|
-
//Insert table
|
|
103
|
+
// Insert table
|
|
106
104
|
tabledef td;
|
|
107
105
|
td.setTableName(_T("user"));
|
|
108
106
|
td.setFileName(_T("user.dat"));
|
|
109
|
-
td.id =1;
|
|
107
|
+
td.id = 1;
|
|
110
108
|
td.charsetIndex = CHARSET_UTF8B4;
|
|
111
109
|
def->insertTable(&td);
|
|
112
110
|
if (def->stat() != 0)
|
|
@@ -115,41 +113,41 @@ bool createUserTableSchema(dbdef* def)
|
|
|
115
113
|
return false;
|
|
116
114
|
}
|
|
117
115
|
|
|
118
|
-
//Insert field
|
|
116
|
+
// Insert field
|
|
119
117
|
short fieldNum = 0;
|
|
120
|
-
fielddef* fd =
|
|
118
|
+
fielddef* fd = def->insertField(td.id, fieldNum);
|
|
121
119
|
fd->setName(_T("id"));
|
|
122
120
|
fd->type = ft_integer;
|
|
123
121
|
fd->len = (ushort_td)4;
|
|
124
122
|
|
|
125
|
-
fd =
|
|
123
|
+
fd = def->insertField(td.id, ++fieldNum);
|
|
126
124
|
fd->setName(_T("name"));
|
|
127
125
|
fd->type = ft_myvarchar;
|
|
128
126
|
fd->setLenByCharnum(32);
|
|
129
127
|
|
|
130
|
-
fd =
|
|
128
|
+
fd = def->insertField(td.id, ++fieldNum);
|
|
131
129
|
fd->setName(_T("group"));
|
|
132
130
|
fd->type = ft_integer;
|
|
133
131
|
fd->len = (ushort_td)4;
|
|
134
132
|
|
|
135
|
-
//Insert index
|
|
133
|
+
// Insert index
|
|
136
134
|
uchar_td keyNum = 0;
|
|
137
135
|
keydef* kd = def->insertKey(td.id, keyNum);
|
|
138
136
|
kd->segments[0].fieldNum = 0;
|
|
139
|
-
kd->segments[0].flags.bit8 = true
|
|
140
|
-
kd->segments[0].flags.bit1 = true
|
|
137
|
+
kd->segments[0].flags.bit8 = true; // extended type
|
|
138
|
+
kd->segments[0].flags.bit1 = true; // updateable
|
|
141
139
|
kd->segmentCount = 1;
|
|
142
140
|
def->tableDefs(td.id)->primaryKeyNum = keyNum;
|
|
143
141
|
|
|
144
142
|
keyNum = 1;
|
|
145
143
|
kd = def->insertKey(td.id, keyNum);
|
|
146
|
-
kd->segments[0].fieldNum = 2
|
|
147
|
-
kd->segments[0].flags.bit8 = true
|
|
148
|
-
kd->segments[0].flags.bit1 = true
|
|
149
|
-
kd->segments[0].flags.bit0 = true
|
|
144
|
+
kd->segments[0].fieldNum = 2; // groupid
|
|
145
|
+
kd->segments[0].flags.bit8 = true; // extended type
|
|
146
|
+
kd->segments[0].flags.bit1 = true; // updateable
|
|
147
|
+
kd->segments[0].flags.bit0 = true; // duplicateable
|
|
150
148
|
kd->segmentCount = 1;
|
|
151
149
|
|
|
152
|
-
//write schema table
|
|
150
|
+
// write schema table
|
|
153
151
|
def->updateTableDef(td.id);
|
|
154
152
|
if (def->stat() != 0)
|
|
155
153
|
{
|
|
@@ -157,7 +155,6 @@ bool createUserTableSchema(dbdef* def)
|
|
|
157
155
|
return false;
|
|
158
156
|
}
|
|
159
157
|
return true;
|
|
160
|
-
|
|
161
158
|
}
|
|
162
159
|
|
|
163
160
|
/** Create group table schema and write
|
|
@@ -165,7 +162,7 @@ bool createUserTableSchema(dbdef* def)
|
|
|
165
162
|
bool createGroupTableSchema(dbdef* def)
|
|
166
163
|
{
|
|
167
164
|
|
|
168
|
-
//Insert table
|
|
165
|
+
// Insert table
|
|
169
166
|
tabledef td;
|
|
170
167
|
td.setTableName(_T("group1"));
|
|
171
168
|
td.setFileName(_T("group1.dat"));
|
|
@@ -178,28 +175,28 @@ bool createGroupTableSchema(dbdef* def)
|
|
|
178
175
|
return false;
|
|
179
176
|
}
|
|
180
177
|
|
|
181
|
-
//Insert field
|
|
178
|
+
// Insert field
|
|
182
179
|
short fieldNum = 0;
|
|
183
|
-
fielddef* fd =
|
|
180
|
+
fielddef* fd = def->insertField(td.id, fieldNum);
|
|
184
181
|
fd->setName(_T("id"));
|
|
185
182
|
fd->type = ft_integer;
|
|
186
183
|
fd->len = (ushort_td)4;
|
|
187
184
|
|
|
188
|
-
fd =
|
|
185
|
+
fd = def->insertField(td.id, ++fieldNum);
|
|
189
186
|
fd->setName(_T("name"));
|
|
190
187
|
fd->type = ft_myvarchar;
|
|
191
188
|
fd->setLenByCharnum(32);
|
|
192
189
|
|
|
193
|
-
//Insert index
|
|
190
|
+
// Insert index
|
|
194
191
|
uchar_td keyNum = 0;
|
|
195
192
|
keydef* kd = def->insertKey(td.id, keyNum);
|
|
196
193
|
kd->segments[0].fieldNum = 0;
|
|
197
|
-
kd->segments[0].flags.bit8 = true
|
|
198
|
-
kd->segments[0].flags.bit1 = true
|
|
194
|
+
kd->segments[0].flags.bit8 = true; // extended type
|
|
195
|
+
kd->segments[0].flags.bit1 = true; // updateable
|
|
199
196
|
kd->segmentCount = 1;
|
|
200
197
|
def->tableDefs(td.id)->primaryKeyNum = keyNum;
|
|
201
198
|
|
|
202
|
-
//write schema table
|
|
199
|
+
// write schema table
|
|
203
200
|
def->updateTableDef(td.id);
|
|
204
201
|
if (def->stat() != 0)
|
|
205
202
|
{
|
|
@@ -207,14 +204,13 @@ bool createGroupTableSchema(dbdef* def)
|
|
|
207
204
|
return false;
|
|
208
205
|
}
|
|
209
206
|
return true;
|
|
210
|
-
|
|
211
207
|
}
|
|
212
208
|
|
|
213
209
|
/** Create picture table schema and write
|
|
214
210
|
*/
|
|
215
211
|
bool createPictureTableSchema(dbdef* def)
|
|
216
212
|
{
|
|
217
|
-
//Insert table
|
|
213
|
+
// Insert table
|
|
218
214
|
tabledef td;
|
|
219
215
|
td.setTableName(_T("picture"));
|
|
220
216
|
td.setFileName(_T("picture.dat"));
|
|
@@ -227,43 +223,41 @@ bool createPictureTableSchema(dbdef* def)
|
|
|
227
223
|
return false;
|
|
228
224
|
}
|
|
229
225
|
|
|
230
|
-
//Insert 3 fields
|
|
226
|
+
// Insert 3 fields
|
|
231
227
|
short fieldNum = 0;
|
|
232
|
-
fielddef* fd =
|
|
228
|
+
fielddef* fd = def->insertField(td.id, fieldNum);
|
|
233
229
|
fd->setName(_T("type"));
|
|
234
230
|
fd->type = ft_integer;
|
|
235
231
|
fd->len = (ushort_td)2;
|
|
236
232
|
|
|
237
|
-
fd =
|
|
233
|
+
fd = def->insertField(td.id, ++fieldNum);
|
|
238
234
|
fd->setName(_T("id"));
|
|
239
235
|
fd->type = ft_integer;
|
|
240
236
|
fd->len = (ushort_td)4;
|
|
241
237
|
|
|
242
|
-
|
|
243
|
-
fd = def->insertField(td.id, ++fieldNum);
|
|
238
|
+
fd = def->insertField(td.id, ++fieldNum);
|
|
244
239
|
fd->setName(_T("picture"));
|
|
245
240
|
fd->type = ft_myblob;
|
|
246
241
|
fd->len = (ushort_td)11;
|
|
247
242
|
|
|
248
|
-
|
|
249
|
-
//Insert index
|
|
243
|
+
// Insert index
|
|
250
244
|
uchar_td keyNum = 0;
|
|
251
245
|
keydef* kd = def->insertKey(td.id, keyNum);
|
|
252
246
|
keySegment* ks = &kd->segments[0];
|
|
253
|
-
ks->fieldNum = 0; //type
|
|
254
|
-
ks->flags.bit8 = true
|
|
255
|
-
ks->flags.bit1 = true
|
|
256
|
-
ks->flags.bit4
|
|
247
|
+
ks->fieldNum = 0; // type
|
|
248
|
+
ks->flags.bit8 = true; // extended type
|
|
249
|
+
ks->flags.bit1 = true; // updateable
|
|
250
|
+
ks->flags.bit4 = true; // segment part
|
|
257
251
|
|
|
258
252
|
ks = &kd->segments[1];
|
|
259
|
-
ks->fieldNum = 1; //id
|
|
260
|
-
ks->flags.bit8 = true
|
|
261
|
-
ks->flags.bit1 = true
|
|
253
|
+
ks->fieldNum = 1; // id
|
|
254
|
+
ks->flags.bit8 = true; // extended type
|
|
255
|
+
ks->flags.bit1 = true; // updateable
|
|
262
256
|
|
|
263
257
|
kd->segmentCount = 2;
|
|
264
258
|
def->tableDefs(td.id)->primaryKeyNum = keyNum;
|
|
265
259
|
|
|
266
|
-
|
|
260
|
+
// write schema table
|
|
267
261
|
def->updateTableDef(td.id);
|
|
268
262
|
if (def->stat() != 0)
|
|
269
263
|
{
|
|
@@ -271,7 +265,6 @@ bool createPictureTableSchema(dbdef* def)
|
|
|
271
265
|
return false;
|
|
272
266
|
}
|
|
273
267
|
return true;
|
|
274
|
-
|
|
275
268
|
}
|
|
276
269
|
|
|
277
270
|
#pragma argsused
|
|
@@ -5,13 +5,12 @@
|
|
|
5
5
|
using namespace bzs::db::protocol::tdap::client;
|
|
6
6
|
using namespace bzs::db::protocol::tdap;
|
|
7
7
|
|
|
8
|
-
|
|
9
8
|
/**
|
|
10
9
|
@brief create database example
|
|
11
10
|
|
|
12
11
|
This program create "test" database and
|
|
13
12
|
"test" table. The table of "test" has schema data.
|
|
14
|
-
And it is called "
|
|
13
|
+
And it is called "schema table".
|
|
15
14
|
|
|
16
15
|
|
|
17
16
|
database name : 'test'
|
|
@@ -61,17 +60,16 @@ table 'picture' tableid = 3
|
|
|
61
60
|
|
|
62
61
|
*/
|
|
63
62
|
|
|
64
|
-
|
|
65
63
|
/** Create user table schema and write
|
|
66
64
|
*/
|
|
67
65
|
void createUserTableSchema(dbdef* def)
|
|
68
66
|
{
|
|
69
|
-
//Insert table
|
|
67
|
+
// Insert table
|
|
70
68
|
short tableid = 1;
|
|
71
69
|
const _TCHAR* name = _T("user");
|
|
72
70
|
insertTable(def, tableid, name, CHARSET_UTF8B4);
|
|
73
71
|
|
|
74
|
-
//Insert 3 fields
|
|
72
|
+
// Insert 3 fields
|
|
75
73
|
short fieldNum = 0;
|
|
76
74
|
insertField(def, tableid, fieldNum, _T("id"), ft_integer, 4);
|
|
77
75
|
|
|
@@ -79,105 +77,102 @@ void createUserTableSchema(dbdef* def)
|
|
|
79
77
|
insertField(def, tableid, ++fieldNum, _T("name"), ft_myvarchar, size);
|
|
80
78
|
insertField(def, tableid, ++fieldNum, _T("group"), ft_integer, 4);
|
|
81
79
|
|
|
82
|
-
//Insert index
|
|
83
|
-
|
|
80
|
+
// Insert index
|
|
81
|
+
uchar_td keyNum = 0;
|
|
84
82
|
keydef* kd = insertKey(def, tableid, keyNum);
|
|
85
83
|
keySegment* ks = &kd->segments[0];
|
|
86
|
-
ks->fieldNum = 0
|
|
87
|
-
ks->flags.bit8 = true
|
|
88
|
-
ks->flags.bit1 = true
|
|
84
|
+
ks->fieldNum = 0; // id
|
|
85
|
+
ks->flags.bit8 = true; // extended type
|
|
86
|
+
ks->flags.bit1 = true; // updateable
|
|
89
87
|
kd->segmentCount = 1;
|
|
90
88
|
def->tableDefs(tableid)->primaryKeyNum = keyNum;
|
|
91
89
|
|
|
92
90
|
keyNum = 1;
|
|
93
91
|
kd = insertKey(def, tableid, keyNum);
|
|
94
92
|
ks = &kd->segments[0];
|
|
95
|
-
ks->fieldNum = 2
|
|
96
|
-
ks->flags.bit8 = true
|
|
97
|
-
ks->flags.bit1 = true
|
|
98
|
-
ks->flags.bit0 = true
|
|
93
|
+
ks->fieldNum = 2; // groupid
|
|
94
|
+
ks->flags.bit8 = true; // extended type
|
|
95
|
+
ks->flags.bit1 = true; // updateable
|
|
96
|
+
ks->flags.bit0 = true; // duplicateable
|
|
99
97
|
kd->segmentCount = 1;
|
|
100
98
|
|
|
101
|
-
|
|
102
|
-
//write schema table
|
|
99
|
+
// write schema table
|
|
103
100
|
updateTableDef(def, tableid);
|
|
104
|
-
|
|
105
101
|
}
|
|
106
102
|
|
|
107
103
|
/** Create group table schema and write
|
|
108
104
|
*/
|
|
109
105
|
void createGroupTableSchema(dbdef* def)
|
|
110
106
|
{
|
|
111
|
-
//Insert table
|
|
107
|
+
// Insert table
|
|
112
108
|
short tableid = 2;
|
|
113
109
|
const _TCHAR* name = _T("group1");
|
|
114
110
|
insertTable(def, tableid, name, CHARSET_UTF8B4);
|
|
115
111
|
|
|
116
|
-
//Insert 2 fields
|
|
112
|
+
// Insert 2 fields
|
|
117
113
|
short fieldNum = 0;
|
|
118
114
|
insertField(def, tableid, fieldNum, _T("id"), ft_integer, 4);
|
|
119
115
|
int size = lenByCharnum(ft_myvarchar, CHARSET_UTF8B4, 32);
|
|
120
116
|
insertField(def, tableid, ++fieldNum, _T("name"), ft_myvarchar, size);
|
|
121
117
|
|
|
122
|
-
//Insert index
|
|
123
|
-
|
|
118
|
+
// Insert index
|
|
119
|
+
uchar_td keyNum = 0;
|
|
124
120
|
keydef* kd = insertKey(def, tableid, keyNum);
|
|
125
121
|
keySegment* ks = &kd->segments[0];
|
|
126
|
-
ks->fieldNum = 0; //id
|
|
127
|
-
ks->flags.bit8 = true
|
|
128
|
-
ks->flags.bit1 = true
|
|
122
|
+
ks->fieldNum = 0; // id
|
|
123
|
+
ks->flags.bit8 = true; // extended type
|
|
124
|
+
ks->flags.bit1 = true; // updateable
|
|
129
125
|
kd->segmentCount = 1;
|
|
130
126
|
def->tableDefs(tableid)->primaryKeyNum = keyNum;
|
|
131
|
-
//write schema table
|
|
127
|
+
// write schema table
|
|
132
128
|
updateTableDef(def, tableid);
|
|
133
|
-
|
|
134
129
|
}
|
|
135
130
|
|
|
136
131
|
/** Create picture table schema and write
|
|
137
132
|
*/
|
|
138
133
|
void createPictureTableSchema(dbdef* def)
|
|
139
134
|
{
|
|
140
|
-
//Insert table
|
|
135
|
+
// Insert table
|
|
141
136
|
short tableid = 3;
|
|
142
137
|
const _TCHAR* name = _T("picture");
|
|
143
138
|
insertTable(def, tableid, name, CHARSET_LATIN1);
|
|
144
139
|
|
|
145
|
-
//Insert 3 fields
|
|
140
|
+
// Insert 3 fields
|
|
146
141
|
short fieldNum = 0;
|
|
147
142
|
|
|
148
143
|
insertField(def, tableid, fieldNum, _T("type"), ft_integer, 2);
|
|
149
144
|
insertField(def, tableid, ++fieldNum, _T("id"), ft_integer, 4);
|
|
150
145
|
insertField(def, tableid, ++fieldNum, _T("picture"), ft_myblob, 11);
|
|
151
146
|
|
|
152
|
-
//Insert index
|
|
153
|
-
|
|
147
|
+
// Insert index
|
|
148
|
+
uchar_td keyNum = 0;
|
|
154
149
|
keydef* kd = insertKey(def, tableid, keyNum);
|
|
155
150
|
keySegment* ks = &kd->segments[0];
|
|
156
|
-
ks->fieldNum = 0; //type
|
|
157
|
-
ks->flags.bit8 = true
|
|
158
|
-
ks->flags.bit1 = true
|
|
159
|
-
ks->flags.bit4
|
|
151
|
+
ks->fieldNum = 0; // type
|
|
152
|
+
ks->flags.bit8 = true; // extended type
|
|
153
|
+
ks->flags.bit1 = true; // updateable
|
|
154
|
+
ks->flags.bit4 = true; // segment part
|
|
160
155
|
|
|
161
156
|
ks = &kd->segments[1];
|
|
162
|
-
ks->fieldNum = 1; //id
|
|
163
|
-
ks->flags.bit8 = true
|
|
164
|
-
ks->flags.bit1 = true
|
|
157
|
+
ks->fieldNum = 1; // id
|
|
158
|
+
ks->flags.bit8 = true; // extended type
|
|
159
|
+
ks->flags.bit1 = true; // updateable
|
|
165
160
|
|
|
166
161
|
kd->segmentCount = 2;
|
|
167
162
|
def->tableDefs(tableid)->primaryKeyNum = keyNum;
|
|
168
163
|
|
|
169
|
-
//write schema table
|
|
164
|
+
// write schema table
|
|
170
165
|
updateTableDef(def, tableid);
|
|
171
|
-
|
|
172
166
|
}
|
|
173
167
|
|
|
174
168
|
#pragma argsused
|
|
175
169
|
int _tmain(int argc, _TCHAR* argv[])
|
|
176
170
|
{
|
|
177
|
-
database_ptr db =
|
|
171
|
+
database_ptr db = createDatabaseObject();
|
|
178
172
|
try
|
|
179
173
|
{
|
|
180
|
-
connectParams prams(_T("tdap"), _T("localhost"), _T("test"),
|
|
174
|
+
connectParams prams(_T("tdap"), _T("localhost"), _T("test"),
|
|
175
|
+
_T("test"));
|
|
181
176
|
prams.setMode(TD_OPEN_EXCLUSIVE);
|
|
182
177
|
|
|
183
178
|
createDatabase(db, prams);
|
|
@@ -194,9 +189,9 @@ int _tmain(int argc, _TCHAR* argv[])
|
|
|
194
189
|
return 0;
|
|
195
190
|
}
|
|
196
191
|
|
|
197
|
-
catch(bzs::rtl::exception& e)
|
|
192
|
+
catch (bzs::rtl::exception& e)
|
|
198
193
|
{
|
|
199
|
-
std::tcout << *bzs::rtl::getMsg(e) << std::endl;
|
|
194
|
+
std::tcout << _T("[ERROR] ") << *bzs::rtl::getMsg(e) << std::endl;
|
|
200
195
|
}
|
|
201
196
|
return 1;
|
|
202
197
|
}
|
|
@@ -3,18 +3,16 @@
|
|
|
3
3
|
#include <bzs/db/protocol/tdap/client/table.h>
|
|
4
4
|
#include <bzs/db/protocol/tdap/client/dbDef.h>
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
using namespace bzs::db::protocol::tdap::client;
|
|
8
7
|
using namespace bzs::db::protocol::tdap;
|
|
9
8
|
|
|
10
|
-
|
|
11
9
|
/**
|
|
12
10
|
@brief read and delete example
|
|
13
11
|
|
|
14
12
|
This program deletes one record of a "user" table.
|
|
15
13
|
|
|
16
14
|
Please execute "create database" , "change schema" and "insert records" example
|
|
17
|
-
|
|
15
|
+
before execute this example.
|
|
18
16
|
|
|
19
17
|
*/
|
|
20
18
|
|
|
@@ -26,29 +24,26 @@ static const char_td keynum_id = 0;
|
|
|
26
24
|
|
|
27
25
|
/** show database operation error
|
|
28
26
|
*/
|
|
29
|
-
void showError(const _TCHAR* caption,const _TCHAR* tableName, short statusCode)
|
|
27
|
+
void showError(const _TCHAR* caption, const _TCHAR* tableName, short statusCode)
|
|
30
28
|
{
|
|
31
|
-
_TCHAR tmp[1024]={0x00};
|
|
29
|
+
_TCHAR tmp[1024] = { 0x00 };
|
|
32
30
|
nstable::tdapErr(0x00, statusCode, tableName, tmp);
|
|
33
|
-
_tprintf(_T("%s
|
|
31
|
+
_tprintf(_T("[ERROR] %s No.%ld %s\n"), caption, statusCode, tmp);
|
|
34
32
|
}
|
|
35
33
|
|
|
36
|
-
|
|
37
34
|
bool deleteUser(table* tb)
|
|
38
35
|
{
|
|
39
36
|
tb->clearBuffer();
|
|
40
|
-
tb->setKeyNum(keynum_id); //use id key
|
|
41
|
-
tb->setFV(fieldnum_id, 3)
|
|
37
|
+
tb->setKeyNum(keynum_id); // use id key
|
|
38
|
+
tb->setFV(fieldnum_id, 3); // id=3 satoshi
|
|
42
39
|
tb->seek();
|
|
43
40
|
if (tb->stat() == 0)
|
|
44
41
|
tb->del();
|
|
45
|
-
if (tb->stat()!=0)
|
|
42
|
+
if (tb->stat() != 0)
|
|
46
43
|
showError(_T("update user"), tb->tableDef()->tableName(), tb->stat());
|
|
47
|
-
return (tb->stat()== 0);
|
|
44
|
+
return (tb->stat() == 0);
|
|
48
45
|
}
|
|
49
46
|
|
|
50
|
-
|
|
51
|
-
|
|
52
47
|
/** Open database
|
|
53
48
|
*/
|
|
54
49
|
bool openDatabase(database* db, const _TCHAR* uri)
|
|
@@ -76,9 +71,9 @@ int _tmain(int argc, _TCHAR* argv[])
|
|
|
76
71
|
showError(_T("open user table"), NULL, db->stat());
|
|
77
72
|
else
|
|
78
73
|
{
|
|
79
|
-
|
|
74
|
+
if (deleteUser(tbu))
|
|
80
75
|
_tprintf(_T("Delete records success. \n"));
|
|
81
|
-
|
|
76
|
+
tbu->release();
|
|
82
77
|
}
|
|
83
78
|
db->close();
|
|
84
79
|
}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
using namespace bzs::db::protocol::tdap::client;
|
|
5
5
|
using namespace bzs::db::protocol::tdap;
|
|
6
6
|
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
@brief read and delete example
|
|
10
9
|
|
|
@@ -12,35 +11,32 @@ This program deletes one record of a "user" table.
|
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
Please execute "create database" , "change schema" and "insert records" example
|
|
15
|
-
|
|
14
|
+
before execute this example.
|
|
16
15
|
|
|
17
16
|
*/
|
|
18
17
|
|
|
19
|
-
|
|
20
|
-
|
|
21
18
|
static const short fieldnum_id = 0;
|
|
22
19
|
static const char_td keynum_id = 0;
|
|
23
20
|
|
|
24
21
|
void deleteUser(table_ptr tb)
|
|
25
22
|
{
|
|
26
|
-
//Seek record that user id = 3 "satoshi"
|
|
23
|
+
// Seek record that user id = 3 "satoshi"
|
|
27
24
|
indexIterator it = readIndex_v(tb, eSeekEqual, keynum_id, 3);
|
|
28
25
|
|
|
29
|
-
if (it
|
|
30
|
-
deleteRecord(it);
|
|
26
|
+
if (!it.isEnd())
|
|
27
|
+
deleteRecord(it); // delete id = 3
|
|
31
28
|
else
|
|
32
|
-
|
|
33
|
-
|
|
29
|
+
THROW_BZS_ERROR_WITH_MSG(_T("User id = 3 was not found"));
|
|
34
30
|
}
|
|
35
31
|
|
|
36
|
-
|
|
37
32
|
#pragma argsused
|
|
38
33
|
int _tmain(int argc, _TCHAR* argv[])
|
|
39
34
|
{
|
|
40
|
-
database_ptr db =
|
|
35
|
+
database_ptr db = createDatabaseObject();
|
|
41
36
|
try
|
|
42
37
|
{
|
|
43
|
-
connectParams param(_T("tdap"), _T("localhost"), _T("test"),
|
|
38
|
+
connectParams param(_T("tdap"), _T("localhost"), _T("test"),
|
|
39
|
+
_T("test"));
|
|
44
40
|
openDatabase(db, param);
|
|
45
41
|
|
|
46
42
|
table_ptr tb = openTable(db, _T("user"));
|
|
@@ -49,9 +45,9 @@ int _tmain(int argc, _TCHAR* argv[])
|
|
|
49
45
|
return 0;
|
|
50
46
|
}
|
|
51
47
|
|
|
52
|
-
catch(bzs::rtl::exception& e)
|
|
48
|
+
catch (bzs::rtl::exception& e)
|
|
53
49
|
{
|
|
54
|
-
std::tcout << *bzs::rtl::getMsg(e) << std::endl;
|
|
50
|
+
std::tcout << _T("[ERROR] ") << *bzs::rtl::getMsg(e) << std::endl;
|
|
55
51
|
}
|
|
56
52
|
return 1;
|
|
57
53
|
}
|
|
@@ -6,25 +6,21 @@
|
|
|
6
6
|
using namespace bzs::db::protocol::tdap::client;
|
|
7
7
|
using namespace bzs::db::protocol::tdap;
|
|
8
8
|
|
|
9
|
-
|
|
10
9
|
/**
|
|
11
10
|
@brief drop database example
|
|
12
11
|
|
|
13
12
|
This program drop "test" database.
|
|
14
13
|
*/
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
|
|
18
15
|
/** show database operation error
|
|
19
16
|
*/
|
|
20
|
-
void showError(const _TCHAR* caption,const _TCHAR* tableName, short statusCode)
|
|
17
|
+
void showError(const _TCHAR* caption, const _TCHAR* tableName, short statusCode)
|
|
21
18
|
{
|
|
22
|
-
_TCHAR tmp[1024]={0x00};
|
|
19
|
+
_TCHAR tmp[1024] = { 0x00 };
|
|
23
20
|
nstable::tdapErr(0x00, statusCode, tableName, tmp);
|
|
24
|
-
_tprintf(_T("%s
|
|
21
|
+
_tprintf(_T("[ERROR] %s No.%ld %s\n"), caption, statusCode, tmp);
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
|
|
28
24
|
/** Open database
|
|
29
25
|
*/
|
|
30
26
|
bool openDbExclusive(database* db, const _TCHAR* uri)
|
|
@@ -38,7 +34,6 @@ bool openDbExclusive(database* db, const _TCHAR* uri)
|
|
|
38
34
|
return true;
|
|
39
35
|
}
|
|
40
36
|
|
|
41
|
-
|
|
42
37
|
#pragma argsused
|
|
43
38
|
int _tmain(int argc, _TCHAR* argv[])
|
|
44
39
|
{
|
|
@@ -55,7 +50,6 @@ int _tmain(int argc, _TCHAR* argv[])
|
|
|
55
50
|
if (result == 0)
|
|
56
51
|
_tprintf(_T("Drop daatabase success. \n"));
|
|
57
52
|
db->close();
|
|
58
|
-
|
|
59
53
|
}
|
|
60
54
|
database::destroy(db);
|
|
61
55
|
return result;
|
|
@@ -3,21 +3,20 @@
|
|
|
3
3
|
using namespace bzs::db::protocol::tdap::client;
|
|
4
4
|
using namespace bzs::db::protocol::tdap;
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
@brief drop database example
|
|
9
8
|
|
|
10
9
|
This program drop "test" database.
|
|
11
10
|
*/
|
|
12
11
|
|
|
13
|
-
|
|
14
12
|
#pragma argsused
|
|
15
13
|
int _tmain(int argc, _TCHAR* argv[])
|
|
16
14
|
{
|
|
17
|
-
database_ptr db =
|
|
15
|
+
database_ptr db = createDatabaseObject();
|
|
18
16
|
try
|
|
19
17
|
{
|
|
20
|
-
connectParams prams(_T("tdap"), _T("localhost"), _T("test"),
|
|
18
|
+
connectParams prams(_T("tdap"), _T("localhost"), _T("test"),
|
|
19
|
+
_T("test"));
|
|
21
20
|
prams.setMode(TD_OPEN_EXCLUSIVE);
|
|
22
21
|
|
|
23
22
|
openDatabase(db, prams);
|
|
@@ -26,9 +25,9 @@ int _tmain(int argc, _TCHAR* argv[])
|
|
|
26
25
|
std::cout << "Drop databse success." << std::endl;
|
|
27
26
|
return 0;
|
|
28
27
|
}
|
|
29
|
-
catch(bzs::rtl::exception& e)
|
|
28
|
+
catch (bzs::rtl::exception& e)
|
|
30
29
|
{
|
|
31
|
-
std::tcout << *bzs::rtl::getMsg(e) << std::endl;
|
|
30
|
+
std::tcout << _T("[ERROR] ") << *bzs::rtl::getMsg(e) << std::endl;
|
|
32
31
|
}
|
|
33
32
|
return 1;
|
|
34
33
|
}
|