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
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
#ifndef confParamH
|
|
2
|
+
#define confParamH
|
|
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 <bzs/env/tstring.h>
|
|
22
|
+
#include <vector>
|
|
23
|
+
#include <bzs/rtl/stl_uty.h>
|
|
24
|
+
|
|
25
|
+
struct conf_parmas
|
|
26
|
+
{
|
|
27
|
+
private:
|
|
28
|
+
mutable std::vector<std::string> m_name_spaces;
|
|
29
|
+
mutable std::vector<std::string> m_name_space_maps;
|
|
30
|
+
mutable bool m_namespaceInit;
|
|
31
|
+
void namespaceInit() const
|
|
32
|
+
{
|
|
33
|
+
split(m_name_spaces, name_space, "/");
|
|
34
|
+
split(m_name_space_maps, name_space_map, "/");
|
|
35
|
+
m_namespaceInit = true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
public:
|
|
39
|
+
int files;
|
|
40
|
+
std::string file[2];
|
|
41
|
+
std::string lang;
|
|
42
|
+
std::string fieldRenameList;
|
|
43
|
+
std::string name_space;
|
|
44
|
+
std::string name_space_map;
|
|
45
|
+
std::string saveDir;
|
|
46
|
+
std::string dataClassName;
|
|
47
|
+
std::string setPrefix;
|
|
48
|
+
std::string getPrefix;
|
|
49
|
+
std::string externWord;
|
|
50
|
+
|
|
51
|
+
conf_parmas() : m_namespaceInit(false), lang("cpp")
|
|
52
|
+
{
|
|
53
|
+
file[0] = "ormMapClass_template";
|
|
54
|
+
file[1] = "ormDataClass_template";
|
|
55
|
+
files = 2;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
std::string getFilename(int index)
|
|
59
|
+
{
|
|
60
|
+
if (lang == "cpp")
|
|
61
|
+
return file[index] + ".h";
|
|
62
|
+
return file[index];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const std::vector<std::string>& name_spaces() const
|
|
66
|
+
{
|
|
67
|
+
if (!m_namespaceInit)
|
|
68
|
+
namespaceInit();
|
|
69
|
+
return m_name_spaces;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
const std::vector<std::string>& name_spaces_map() const
|
|
73
|
+
{
|
|
74
|
+
if (!m_namespaceInit)
|
|
75
|
+
namespaceInit();
|
|
76
|
+
return m_name_space_maps;
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
#endif
|
|
@@ -0,0 +1,77 @@
|
|
|
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
|
+
#include "fieldName.h"
|
|
21
|
+
#include <iostream>
|
|
22
|
+
#include <fstream>
|
|
23
|
+
#include <algorithm>
|
|
24
|
+
#include <bzs/rtl/exception.h>
|
|
25
|
+
using namespace std;
|
|
26
|
+
|
|
27
|
+
#pragma package(smart_init)
|
|
28
|
+
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// class CFiledName
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
CFiledName::CFiledName(string oName, string n) : name(n), orignName(oName)
|
|
33
|
+
{
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
bool CFiledName::operator<(const CFiledName& rt) const
|
|
37
|
+
{
|
|
38
|
+
return orignName < rt.orignName;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// class CFiledNameResolver
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
bool CFiledNameResolver::loadFromFile(const string& filename)
|
|
45
|
+
{
|
|
46
|
+
|
|
47
|
+
ifstream ifs(filename.c_str());
|
|
48
|
+
if (ifs.fail())
|
|
49
|
+
{
|
|
50
|
+
cerr << "File not exist.\n";
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
string s;
|
|
54
|
+
while (getline(ifs, s))
|
|
55
|
+
{
|
|
56
|
+
size_t pos = s.find("=");
|
|
57
|
+
if (pos != string::npos)
|
|
58
|
+
m_list.push_back(CFiledName(s.substr(0, pos), s.substr(pos + 1)));
|
|
59
|
+
else
|
|
60
|
+
THROW_BZS_ERROR_WITH_MSG(_T("Filed resolver invalid data."));
|
|
61
|
+
}
|
|
62
|
+
sort(m_list.begin(), m_list.end());
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
string CFiledNameResolver::getName(const char* orignName)
|
|
67
|
+
{
|
|
68
|
+
|
|
69
|
+
if (binary_search(m_list.begin(), m_list.end(), CFiledName(orignName, "")))
|
|
70
|
+
{
|
|
71
|
+
std::vector<CFiledName>::iterator p;
|
|
72
|
+
p = lower_bound(m_list.begin(), m_list.end(),
|
|
73
|
+
CFiledName(orignName, ""));
|
|
74
|
+
return (*p).name;
|
|
75
|
+
}
|
|
76
|
+
return orignName;
|
|
77
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#ifndef fieldNameH
|
|
2
|
+
#define fieldNameH
|
|
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 <bzs/env/tstring.h>
|
|
22
|
+
#include <vector>
|
|
23
|
+
|
|
24
|
+
class CFiledName
|
|
25
|
+
{
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
CFiledName(std::string oName, std::string name);
|
|
29
|
+
bool operator<(const CFiledName& rt) const;
|
|
30
|
+
std::string name;
|
|
31
|
+
std::string orignName;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
class CFiledNameResolver
|
|
35
|
+
{
|
|
36
|
+
std::vector<CFiledName> m_list;
|
|
37
|
+
|
|
38
|
+
public:
|
|
39
|
+
bool loadFromFile(const std::string& filename);
|
|
40
|
+
std::string getName(const char* orignName);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
#endif
|
|
@@ -0,0 +1,196 @@
|
|
|
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 <string>
|
|
22
|
+
#include <iostream>
|
|
23
|
+
#include <fstream>
|
|
24
|
+
#include <boost/program_options.hpp>
|
|
25
|
+
#include <boost/filesystem.hpp>
|
|
26
|
+
#include <bzs/db/protocol/tdap/client/trdboostapi.h>
|
|
27
|
+
#define TRDCL_AUTOLINK
|
|
28
|
+
#include <bzs/db/protocol/tdap/client/trdclcppautolink.h>
|
|
29
|
+
#include "confParam.h"
|
|
30
|
+
#include "srcgen.h"
|
|
31
|
+
|
|
32
|
+
using namespace bzs::db::protocol::tdap::client;
|
|
33
|
+
using namespace bzs::db::protocol::tdap;
|
|
34
|
+
using namespace std;
|
|
35
|
+
using namespace boost;
|
|
36
|
+
using namespace boost::program_options;
|
|
37
|
+
namespace fs = boost::filesystem;
|
|
38
|
+
|
|
39
|
+
#ifdef __BCPLUSPLUS__
|
|
40
|
+
#define BZS_LINK_BOOST_SYSTEM
|
|
41
|
+
#define BZS_LINK_BOOST_FILESYSTEM
|
|
42
|
+
#define BZS_LINK_BOOST_PROGRAM_OPTIONS
|
|
43
|
+
#include <bzs/env/boost_bcb_link.h>
|
|
44
|
+
#endif
|
|
45
|
+
//---------------------------------------------------------------------------
|
|
46
|
+
|
|
47
|
+
struct cmd_parmas
|
|
48
|
+
{
|
|
49
|
+
std::string uri;
|
|
50
|
+
std::string tableName;
|
|
51
|
+
std::string confName;
|
|
52
|
+
std::string className;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
int readConfig(conf_parmas& pmc, const cmd_parmas& pm)
|
|
56
|
+
{
|
|
57
|
+
variables_map values;
|
|
58
|
+
// setup configuration options
|
|
59
|
+
options_description cnf("configration");
|
|
60
|
+
cnf.add_options()("lang", value<string>(&pmc.lang),
|
|
61
|
+
"lang")("files", value<int>(&pmc.files), "files")(
|
|
62
|
+
"file1", value<string>(&pmc.file[0]),
|
|
63
|
+
"file1")("file2", value<string>(&pmc.file[1]), "file2")(
|
|
64
|
+
"name_space", value<string>(&pmc.name_space), "name_space")(
|
|
65
|
+
"name_space_map", value<string>(&pmc.name_space_map),
|
|
66
|
+
"name_space_map")("saveDir", value<string>(&pmc.saveDir), "saveDir")(
|
|
67
|
+
"setPrefix", value<string>(&pmc.setPrefix),
|
|
68
|
+
"setPrefix")("getPrefix", value<string>(&pmc.getPrefix), "getPrefix")(
|
|
69
|
+
"externWord", value<string>(&pmc.externWord),
|
|
70
|
+
"externWord")("fieldRenameList", value<string>(&pmc.fieldRenameList),
|
|
71
|
+
"fieldRenameList");
|
|
72
|
+
|
|
73
|
+
// read configuration file
|
|
74
|
+
ifstream ifs(pm.confName.c_str());
|
|
75
|
+
store(parse_config_file(ifs, cnf), values);
|
|
76
|
+
notify(values);
|
|
77
|
+
if (pmc.externWord != "")
|
|
78
|
+
pmc.externWord += " ";
|
|
79
|
+
// check template file count
|
|
80
|
+
if (pmc.files > 2)
|
|
81
|
+
{
|
|
82
|
+
cout << "error ! files max is 2." << endl;
|
|
83
|
+
return 1;
|
|
84
|
+
}
|
|
85
|
+
// check template file exists
|
|
86
|
+
for (int i = 0; i < pmc.files; ++i)
|
|
87
|
+
{
|
|
88
|
+
fs::path path = pmc.getFilename(i);
|
|
89
|
+
const bool result = fs::exists(path);
|
|
90
|
+
if (!result)
|
|
91
|
+
{
|
|
92
|
+
cout << path << " is not found." << endl;
|
|
93
|
+
return 1;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
int makeOne(tabledef* def, cmd_parmas pm, conf_parmas& pmc)
|
|
100
|
+
{
|
|
101
|
+
|
|
102
|
+
pmc.dataClassName = pm.className;
|
|
103
|
+
cppSrcGen cpp(def, pmc);
|
|
104
|
+
cpp.make();
|
|
105
|
+
return 0;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
#ifdef _UNICODE
|
|
109
|
+
std::wstring toTString(const std::string& s)
|
|
110
|
+
{
|
|
111
|
+
wchar_t tmp[MAX_PATH];
|
|
112
|
+
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, s.c_str(), -1, tmp, MAX_PATH);
|
|
113
|
+
return std::wstring(tmp);
|
|
114
|
+
}
|
|
115
|
+
#else
|
|
116
|
+
std::string& toTString(std::string& s)
|
|
117
|
+
{
|
|
118
|
+
return s;
|
|
119
|
+
}
|
|
120
|
+
#endif
|
|
121
|
+
|
|
122
|
+
#pragma argsused
|
|
123
|
+
int _tmain(int argc, char* argv[])
|
|
124
|
+
{
|
|
125
|
+
// setup command line options
|
|
126
|
+
cmd_parmas pm;
|
|
127
|
+
options_description opt("command line option");
|
|
128
|
+
opt.add_options()(
|
|
129
|
+
"database_uri,d", value<string>(&pm.uri),
|
|
130
|
+
"database uri ex:tdap://hostname/dbname?dbfile=trnasctd_schema")(
|
|
131
|
+
"table_name,t", value<string>(&pm.tableName), "table name")(
|
|
132
|
+
"class_name,c", value<string>(&pm.className), "class name")(
|
|
133
|
+
"conf_name,f", value<string>(&pm.confName), "configuration filename");
|
|
134
|
+
variables_map values;
|
|
135
|
+
|
|
136
|
+
try
|
|
137
|
+
{
|
|
138
|
+
store(parse_command_line(argc, argv, opt), values);
|
|
139
|
+
notify(values);
|
|
140
|
+
if (!values.count("database_uri") || !values.count("table_name"))
|
|
141
|
+
{
|
|
142
|
+
cout << opt << endl;
|
|
143
|
+
return 1;
|
|
144
|
+
}
|
|
145
|
+
cout << pm.uri << endl;
|
|
146
|
+
|
|
147
|
+
conf_parmas pmc;
|
|
148
|
+
if (values.count("conf_name"))
|
|
149
|
+
{
|
|
150
|
+
if (readConfig(pmc, pm))
|
|
151
|
+
return 1;
|
|
152
|
+
// database open
|
|
153
|
+
database_ptr db = createDatabaseObject();
|
|
154
|
+
openDatabase(db, toTString(pm.uri).c_str());
|
|
155
|
+
if (pm.tableName == "all")
|
|
156
|
+
{
|
|
157
|
+
for (int i = 0; i <= db->dbDef()->tableCount(); ++i)
|
|
158
|
+
{
|
|
159
|
+
tabledef* def = db->dbDef()->tableDefs(i);
|
|
160
|
+
if (def)
|
|
161
|
+
{
|
|
162
|
+
pm.className = "";
|
|
163
|
+
makeOne(def, pm, pmc);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
else
|
|
168
|
+
{
|
|
169
|
+
int n = db->dbDef()->tableNumByName(
|
|
170
|
+
toTString(pm.tableName).c_str());
|
|
171
|
+
if (n <= 0)
|
|
172
|
+
{
|
|
173
|
+
cout << "Invalid table name." << endl;
|
|
174
|
+
return 1;
|
|
175
|
+
}
|
|
176
|
+
if (pm.className == "")
|
|
177
|
+
pm.className = pm.tableName;
|
|
178
|
+
tabledef* def = db->dbDef()->tableDefs(n);
|
|
179
|
+
makeOne(def, pm, pmc);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
return 0;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
catch (bzs::rtl::exception& e)
|
|
186
|
+
{
|
|
187
|
+
std::tcout << *bzs::rtl::getMsg(e) << std::endl;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
catch (std::exception& e)
|
|
191
|
+
{
|
|
192
|
+
cout << e.what() << endl;
|
|
193
|
+
}
|
|
194
|
+
return 1;
|
|
195
|
+
}
|
|
196
|
+
//---------------------------------------------------------------------------
|