mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
abee640f44
ndb/test/tools/hugoCalculator.cpp: Rename: ndb/test/tools/hugoCalculator/hugoCalculator.cpp -> ndb/test/tools/hugoCalculator.cpp ndb/test/tools/hugoLoad.cpp: Rename: ndb/test/tools/hugoLoad/hugoLoad.cpp -> ndb/test/tools/hugoLoad.cpp ndb/test/tools/hugoFill.cpp: Rename: ndb/test/tools/hugoFill/hugoFill.cpp -> ndb/test/tools/hugoFill.cpp ndb/test/tools/hugoLockRecords.cpp: Rename: ndb/test/tools/hugoLockRecords/hugoLockRecords.cpp -> ndb/test/tools/hugoLockRecords.cpp ndb/test/tools/hugoPkRead.cpp: Rename: ndb/test/tools/hugoPkRead/hugoPkRead.cpp -> ndb/test/tools/hugoPkRead.cpp ndb/test/tools/hugoPkReadRecord.cpp: Rename: ndb/test/tools/hugoPkReadRecord/hugoPkReadRecord.cpp -> ndb/test/tools/hugoPkReadRecord.cpp ndb/test/tools/hugoScanRead.cpp: Rename: ndb/test/tools/hugoScanRead/hugoScanRead.cpp -> ndb/test/tools/hugoScanRead.cpp ndb/test/tools/restart.cpp: Rename: ndb/test/tools/restart/restart.cpp -> ndb/test/tools/restart.cpp ndb/test/ndbapi/TraceNdbApi.cpp: Rename: ndb/test/ndbapi/acid2/TraceNdbApi.cpp -> ndb/test/ndbapi/TraceNdbApi.cpp ndb/test/ndbapi/VerifyNdbApi.cpp: Rename: ndb/test/ndbapi/acid2/VerifyNdbApi.cpp -> ndb/test/ndbapi/VerifyNdbApi.cpp ndb/test/ndbapi/acid.cpp: Rename: ndb/test/ndbapi/acid/acid.cpp -> ndb/test/ndbapi/acid.cpp ndb/test/ndbapi/acid2.cpp: Rename: ndb/test/ndbapi/acid2/acid2.cpp -> ndb/test/ndbapi/acid2.cpp ndb/test/ndbapi/bulk_copy.cpp: Rename: ndb/test/ndbapi/bulk_copy/bulk_copy.cpp -> ndb/test/ndbapi/bulk_copy.cpp ndb/test/ndbapi/celloDb.cpp: Rename: ndb/test/ndbapi/cello-sessionDb/celloDb.cpp -> ndb/test/ndbapi/celloDb.cpp ndb/test/ndbapi/create_all_tabs.cpp: Rename: ndb/test/ndbapi/create_all_tabs/create_all_tabs.cpp -> ndb/test/ndbapi/create_all_tabs.cpp ndb/test/ndbapi/create_tab.cpp: Rename: ndb/test/ndbapi/create_tab/create_tab.cpp -> ndb/test/ndbapi/create_tab.cpp ndb/test/ndbapi/drop_all_tabs.cpp: Rename: ndb/test/ndbapi/drop_all_tabs/drop_all_tabs.cpp -> ndb/test/ndbapi/drop_all_tabs.cpp ndb/test/ndbapi/flexAsynch.cpp: Rename: ndb/test/ndbapi/flexAsynch/flexAsynch.cpp -> ndb/test/ndbapi/flexAsynch.cpp ndb/test/ndbapi/flexBench.cpp: Rename: ndb/test/ndbapi/flexBench/flexBench.cpp -> ndb/test/ndbapi/flexBench.cpp ndb/test/ndbapi/flexHammer.cpp: Rename: ndb/test/ndbapi/flexHammer/flexHammer.cpp -> ndb/test/ndbapi/flexHammer.cpp ndb/test/ndbapi/flexScan.cpp: Rename: ndb/test/ndbapi/flexScan/flexScan.cpp -> ndb/test/ndbapi/flexScan.cpp ndb/test/ndbapi/flexTT.cpp: Rename: ndb/test/ndbapi/flexTT/flexTT.cpp -> ndb/test/ndbapi/flexTT.cpp ndb/test/ndbapi/flexTimedAsynch.cpp: Rename: ndb/test/ndbapi/flexTimedAsynch/flexTimedAsynch.cpp -> ndb/test/ndbapi/flexTimedAsynch.cpp ndb/test/ndbapi/flex_bench_mysql.cpp: Rename: ndb/test/ndbapi/flex_bench_mysql/flex_bench_mysql.cpp -> ndb/test/ndbapi/flex_bench_mysql.cpp ndb/test/ndbapi/index.cpp: Rename: ndb/test/ndbapi/indexTest/index.cpp -> ndb/test/ndbapi/index.cpp ndb/test/ndbapi/asyncGenerator.cpp: Rename: ndb/test/ndbapi/lmc-bench/async-src/generator/asyncGenerator.cpp -> ndb/test/ndbapi/asyncGenerator.cpp ndb/test/ndbapi/index2.cpp: Rename: ndb/test/ndbapi/indexTest2/index2.cpp -> ndb/test/ndbapi/index2.cpp ndb/test/ndbapi/interpreterInTup.cpp: Rename: ndb/test/ndbapi/interpreterInTup/interpreterInTup.cpp -> ndb/test/ndbapi/interpreterInTup.cpp ndb/test/ndbapi/mainAsyncGenerator.cpp: Rename: ndb/test/ndbapi/lmc-bench/async-src/generator/mainAsyncGenerator.cpp -> ndb/test/ndbapi/mainAsyncGenerator.cpp ndb/test/ndbapi/ndb_async1.cpp: Rename: ndb/test/ndbapi/lmc-bench/async-src/user/ndb_async1.cpp -> ndb/test/ndbapi/ndb_async1.cpp ndb/test/ndbapi/ndb_async2.cpp: Rename: ndb/test/ndbapi/lmc-bench/async-src/user/ndb_async2.cpp -> ndb/test/ndbapi/ndb_async2.cpp ndb/test/ndbapi/ndb_user_populate.cpp: Rename: ndb/test/ndbapi/lmc-bench/src/user/ndb_user_populate.cpp -> ndb/test/ndbapi/ndb_user_populate.cpp ndb/test/ndbapi/ndb_user_transaction.cpp: Rename: ndb/test/ndbapi/lmc-bench/src/user/ndb_user_transaction.cpp -> ndb/test/ndbapi/ndb_user_transaction.cpp ndb/test/ndbapi/ndb_user_transaction2.cpp: Rename: ndb/test/ndbapi/lmc-bench/src/user/ndb_user_transaction2.cpp -> ndb/test/ndbapi/ndb_user_transaction2.cpp ndb/test/ndbapi/ndb_user_transaction3.cpp: Rename: ndb/test/ndbapi/lmc-bench/src/user/ndb_user_transaction3.cpp -> ndb/test/ndbapi/ndb_user_transaction3.cpp ndb/test/ndbapi/userInterface.cpp: Rename: ndb/test/ndbapi/lmc-bench/async-src/user/userInterface.cpp -> ndb/test/ndbapi/userInterface.cpp ndb/test/ndbapi/benchronja.cpp: Rename: ndb/test/ndbapi/ronja/benchronja/benchronja.cpp -> ndb/test/ndbapi/benchronja.cpp ndb/test/ndbapi/ndb_user_transaction4.cpp: Rename: ndb/test/ndbapi/lmc-bench/src/user/ndb_user_transaction4.cpp -> ndb/test/ndbapi/ndb_user_transaction4.cpp ndb/test/ndbapi/ndb_user_transaction5.cpp: Rename: ndb/test/ndbapi/lmc-bench/src/user/ndb_user_transaction5.cpp -> ndb/test/ndbapi/ndb_user_transaction5.cpp ndb/test/ndbapi/ndb_user_transaction6.cpp: Rename: ndb/test/ndbapi/lmc-bench/src/user/ndb_user_transaction6.cpp -> ndb/test/ndbapi/ndb_user_transaction6.cpp ndb/test/ndbapi/restarter.cpp: Rename: ndb/test/ndbapi/restarter/restarter.cpp -> ndb/test/ndbapi/restarter.cpp ndb/test/ndbapi/restarter2.cpp: Rename: ndb/test/ndbapi/restarter2/restarter2.cpp -> ndb/test/ndbapi/restarter2.cpp ndb/test/ndbapi/restarts.cpp: Rename: ndb/test/ndbapi/restarts/restarts.cpp -> ndb/test/ndbapi/restarts.cpp ndb/test/ndbapi/InsertRecs.cpp: Rename: ndb/test/ndbapi/telco/InsertRecs.cpp -> ndb/test/ndbapi/InsertRecs.cpp ndb/test/ndbapi/adoInsertRecs.cpp: Rename: ndb/test/ndbapi/telco/adoInsertRecs.cpp -> ndb/test/ndbapi/adoInsertRecs.cpp ndb/test/ndbapi/initronja.cpp: Rename: ndb/test/ndbapi/ronja/initronja/initronja.cpp -> ndb/test/ndbapi/initronja.cpp ndb/test/ndbapi/msa.cpp: Rename: ndb/test/ndbapi/telco/msa.cpp -> ndb/test/ndbapi/msa.cpp ndb/test/ndbapi/testBasic.cpp: Rename: ndb/test/ndbapi/testBasic/testBasic.cpp -> ndb/test/ndbapi/testBasic.cpp ndb/test/ndbapi/testDataBuffers.cpp: Rename: ndb/test/ndbapi/testDataBuffers/testDataBuffers.cpp -> ndb/test/ndbapi/testDataBuffers.cpp ndb/test/ndbapi/testDict.cpp: Rename: ndb/test/ndbapi/testDict/testDict.cpp -> ndb/test/ndbapi/testDict.cpp ndb/test/ndbapi/testGrep.cpp: Rename: ndb/test/ndbapi/testGrep/testGrep.cpp -> ndb/test/ndbapi/testGrep.cpp ndb/test/ndbapi/testGrepVerify.cpp: Rename: ndb/test/ndbapi/testGrep/verify/testGrepVerify.cpp -> ndb/test/ndbapi/testGrepVerify.cpp ndb/test/ndbapi/testIndex.cpp: Rename: ndb/test/ndbapi/testIndex/testIndex.cpp -> ndb/test/ndbapi/testIndex.cpp ndb/test/ndbapi/testInterpreter.cpp: Rename: ndb/test/ndbapi/testInterpreter/testInterpreter.cpp -> ndb/test/ndbapi/testInterpreter.cpp ndb/test/ndbapi/testMgm.cpp: Rename: ndb/test/ndbapi/testMgm/testMgm.cpp -> ndb/test/ndbapi/testMgm.cpp ndb/test/ndbapi/testNdbApi.cpp: Rename: ndb/test/ndbapi/testNdbApi/testNdbApi.cpp -> ndb/test/ndbapi/testNdbApi.cpp ndb/test/ndbapi/testNodeRestart.cpp: Rename: ndb/test/ndbapi/testNodeRestart/testNodeRestart.cpp -> ndb/test/ndbapi/testNodeRestart.cpp ndb/test/ndbapi/testOIBasic.cpp: Rename: ndb/test/ndbapi/testOIBasic/testOIBasic.cpp -> ndb/test/ndbapi/testOIBasic.cpp ndb/test/ndbapi/testOperations.cpp: Rename: ndb/test/ndbapi/testOperations/testOperations.cpp -> ndb/test/ndbapi/testOperations.cpp ndb/test/ndbapi/testOrderedIndex.cpp: Rename: ndb/test/ndbapi/testOrderedIndex/testOrderedIndex.cpp -> ndb/test/ndbapi/testOrderedIndex.cpp ndb/test/ndbapi/testRestartGci.cpp: Rename: ndb/test/ndbapi/testRestartGci/testRestartGci.cpp -> ndb/test/ndbapi/testRestartGci.cpp ndb/test/ndbapi/testScan.cpp: Rename: ndb/test/ndbapi/testScan/testScan.cpp -> ndb/test/ndbapi/testScan.cpp ndb/test/ndbapi/testScanInterpreter.cpp: Rename: ndb/test/ndbapi/testScanInterpreter/testScanInterpreter.cpp -> ndb/test/ndbapi/testScanInterpreter.cpp ndb/test/ndbapi/testSystemRestart.cpp: Rename: ndb/test/ndbapi/testSystemRestart/testSystemRestart.cpp -> ndb/test/ndbapi/testSystemRestart.cpp ndb/test/ndbapi/testTimeout.cpp: Rename: ndb/test/ndbapi/testTimeout/testTimeout.cpp -> ndb/test/ndbapi/testTimeout.cpp ndb/test/ndbapi/cdrserver.cpp: Rename: ndb/test/ndbapi/vw_test/cdrserver.cpp -> ndb/test/ndbapi/cdrserver.cpp ndb/test/ndbapi/size.cpp: Rename: ndb/test/ndbapi/vw_test/size.cpp -> ndb/test/ndbapi/size.cpp ndb/test/ndbapi/testTransactions.cpp: Rename: ndb/test/ndbapi/testTransactions/testTransactions.cpp -> ndb/test/ndbapi/testTransactions.cpp ndb/test/ndbapi/test_event.cpp: Rename: ndb/test/ndbapi/test_event/test_event.cpp -> ndb/test/ndbapi/test_event.cpp ndb/tools/delete_all.cpp: Rename: ndb/tools/delete_all/delete_all.cpp -> ndb/tools/delete_all.cpp ndb/tools/desc.cpp: Rename: ndb/tools/desc/desc.cpp -> ndb/tools/desc.cpp ndb/tools/drop_index.cpp: Rename: ndb/tools/drop_index/drop_index.cpp -> ndb/tools/drop_index.cpp ndb/tools/drop_tab.cpp: Rename: ndb/tools/drop_tab/drop_tab.cpp -> ndb/tools/drop_tab.cpp ndb/tools/listTables.cpp: Rename: ndb/tools/list_tables/listTables.cpp -> ndb/tools/listTables.cpp ndb/tools/ndbsql.cpp: Rename: ndb/tools/ndbsql/ndbsql.cpp -> ndb/tools/ndbsql.cpp ndb/tools/select_all.cpp: Rename: ndb/tools/select_all/select_all.cpp -> ndb/tools/select_all.cpp ndb/tools/select_count.cpp: Rename: ndb/tools/select_count/select_count.cpp -> ndb/tools/select_count.cpp ndb/test/tools/hugoScanUpdate.cpp: Rename: ndb/test/tools/hugoScanUpd.cpp -> ndb/test/tools/hugoScanUpdate.cpp ndb/test/tools/hugoPkUpdate.cpp: Rename: ndb/test/tools/hugoPkUpd.cpp -> ndb/test/tools/hugoPkUpdate.cpp ndb/test/tools/hugoPkDelete.cpp: Rename: ndb/test/tools/hugoPkDel.cpp -> ndb/test/tools/hugoPkDelete.cpp ndb/tools/Makefile_old: Rename: ndb/tools/Makefile -> ndb/tools/Makefile_old ndb/test/tools/transproxy.cpp: Rename: ndb/tools/transproxy.cpp -> ndb/test/tools/transproxy.cpp ndb/test/tools/verify_index.cpp: Rename: ndb/tools/verify_index.cpp -> ndb/test/tools/verify_index.cpp ndb/test/tools/copy_tab.cpp: Rename: ndb/tools/copy_tab.cpp -> ndb/test/tools/copy_tab.cpp ndb/test/tools/cpcc.cpp: Rename: ndb/tools/cpcc.cpp -> ndb/test/tools/cpcc.cpp ndb/test/tools/create_index.cpp: Rename: ndb/tools/create_index.cpp -> ndb/test/tools/create_index.cpp ndb/test/tools/old_dirs/waiter/Makefile_old: mvdir ndb/test/tools/old_dirs/waiter/waiter.cpp: mvdir ndb/test/tools/old_dirs/restart/Makefile: mvdir ndb/test/tools/old_dirs/hugoScanUpdate/Makefile: mvdir ndb/test/tools/old_dirs/hugoScanRead/Makefile: mvdir ndb/test/tools/old_dirs/hugoPkUpdate/Makefile: mvdir ndb/test/tools/old_dirs/hugoPkReadRecord/Makefile: mvdir ndb/test/tools/old_dirs/hugoPkRead/Makefile: mvdir ndb/test/tools/old_dirs/hugoPkDelete/Makefile: mvdir ndb/test/tools/old_dirs/hugoLockRecords/Makefile: mvdir ndb/test/tools/old_dirs/hugoLoad/Makefile: mvdir ndb/test/tools/old_dirs/hugoFill/Makefile: mvdir ndb/test/tools/old_dirs/hugoCalculator/Makefile: mvdir ndb/tools/old_dirs/copy_tab/Makefile: mvdir ndb/tools/old_dirs/cpcc/Makefile: mvdir ndb/tools/old_dirs/create_index/Makefile: mvdir ndb/tools/old_dirs/delete_all/Makefile: mvdir ndb/tools/old_dirs/desc/Makefile: mvdir ndb/tools/old_dirs/drop_index/Makefile: mvdir ndb/tools/old_dirs/drop_tab/Makefile: mvdir ndb/tools/old_dirs/list_tables/Makefile: mvdir ndb/tools/old_dirs/select_all/Makefile: mvdir ndb/tools/old_dirs/select_count/Makefile: mvdir ndb/test/tools/old_dirs/transproxy/Makefile: mvdir ndb/test/tools/old_dirs/verify_index/Makefile: mvdir ndb/test/ndbapi/old_dirs/flexTT/Makefile: mvdir ndb/test/ndbapi/old_dirs/flexTimedAsynch/Makefile: mvdir ndb/test/ndbapi/old_dirs/flexHammer/Makefile: mvdir ndb/test/ndbapi/old_dirs/flexHammer/README: mvdir ndb/test/ndbapi/old_dirs/flexBench/Makefile.am: mvdir ndb/test/ndbapi/old_dirs/flexBench/Makefile_old: mvdir ndb/test/ndbapi/old_dirs/flexBench/ndbplot.pl: mvdir ndb/test/ndbapi/old_dirs/flexAsynch/Makefile: mvdir ndb/test/ndbapi/old_dirs/drop_all_tabs/Makefile: mvdir ndb/test/ndbapi/old_dirs/create_tab/Makefile: mvdir ndb/test/ndbapi/old_dirs/testOIBasic/Makefile: mvdir ndb/test/ndbapi/old_dirs/testOIBasic/times.txt: mvdir ndb/test/ndbapi/old_dirs/testNodeRestart/Makefile: mvdir ndb/test/ndbapi/old_dirs/testOperations/Makefile: mvdir ndb/test/ndbapi/old_dirs/testBlobs/Makefile: mvdir ndb/test/ndbapi/old_dirs/testBackup/Makefile: mvdir ndb/test/ndbapi/old_dirs/testDict/Makefile: mvdir ndb/test/ndbapi/old_dirs/test_event/Makefile: mvdir ndb/test/ndbapi/old_dirs/testTransactions/Makefile: mvdir ndb/test/ndbapi/old_dirs/testTimeout/Makefile: mvdir ndb/test/ndbapi/old_dirs/testSystemRestart/Makefile: mvdir ndb/test/ndbapi/old_dirs/testScanInterpreter/Makefile: mvdir ndb/test/ndbapi/old_dirs/testDataBuffers/Makefile: mvdir ndb/test/ndbapi/old_dirs/testIndex/Makefile: mvdir ndb/test/ndbapi/old_dirs/testMgm/Makefile: mvdir ndb/test/ndbapi/old_dirs/restarter/Makefile: mvdir ndb/test/ndbapi/old_dirs/flexScan/Makefile: mvdir ndb/test/ndbapi/old_dirs/flexScan/README: mvdir ndb/test/ndbapi/old_dirs/testRestartGci/Makefile: mvdir ndb/test/ndbapi/old_dirs/flex_bench_mysql/Makefile: mvdir ndb/test/ndbapi/old_dirs/indexTest/Makefile: mvdir ndb/test/ndbapi/old_dirs/indexTest2/Makefile: mvdir ndb/test/ndbapi/old_dirs/testBasic/Makefile: mvdir ndb/test/ndbapi/old_dirs/basicAsynch/Makefile: mvdir ndb/test/ndbapi/old_dirs/create_all_tabs/Makefile: mvdir ndb/test/ndbapi/old_dirs/testNdbApi/Makefile: mvdir ndb/test/ndbapi/old_dirs/testOrderedIndex/Makefile: mvdir ndb/test/ndbapi/old_dirs/restarter2/Makefile: mvdir ndb/test/ndbapi/old_dirs/telco/Makefile: mvdir ndb/test/ndbapi/old_dirs/telco/readme: mvdir ndb/test/ndbapi/old_dirs/acid/Makefile: mvdir ndb/test/ndbapi/old_dirs/acid2/Makefile: mvdir ndb/test/ndbapi/old_dirs/acid2/TraceNdbApi.hpp: mvdir ndb/test/ndbapi/old_dirs/acid2/VerifyNdbApi.hpp: mvdir ndb/test/ndbapi/old_dirs/interpreterInTup/Makefile: mvdir ndb/test/ndbapi/old_dirs/ronja/Makefile: mvdir ndb/test/ndbapi/old_dirs/ronja/benchronja/Makefile: mvdir ndb/test/ndbapi/old_dirs/ronja/initronja/Makefile: mvdir ndb/test/ndbapi/old_dirs/testScan/Makefile: mvdir ndb/test/ndbapi/old_dirs/vw_test/Makefile: mvdir ndb/test/ndbapi/old_dirs/vw_test/bcd.h: mvdir ndb/test/ndbapi/old_dirs/vw_test/utv.h: mvdir ndb/test/ndbapi/old_dirs/vw_test/vcdrfunc.h: mvdir ndb/test/ndbapi/old_dirs/vw_test/script/client_start: mvdir ndb/test/ndbapi/old_dirs/testGrep/Makefile: mvdir ndb/test/ndbapi/old_dirs/testGrep/verify/Makefile: mvdir ndb/test/ndbapi/old_dirs/testInterpreter/Makefile: mvdir ndb/test/ndbapi/old_dirs/restarts/Makefile: mvdir ndb/test/ndbapi/old_dirs/bulk_copy/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/generator/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/dbGenerator.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/testData.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/userInterface.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/macros.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/ndb_error.hpp: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/bin/.empty: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/include/ndb_schema.hpp: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/include/testDefinitions.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/lib/.empty: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/script/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench-l-p10.sh: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench-l.sh: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench-p10.sh: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench.sh: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/README: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.c: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/makevars.linux: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/makevars.sparc: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/mainGenerator.c: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.c: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/mainPopulate.c: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/localDbPrepare.c: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/macros.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/ndb_error.hpp: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/Makefile: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userHandle.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userInterface.c: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userTransaction.c: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userHandle.h: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userInterface.cpp: mvdir ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userTransaction.c: mvdir ndb/test/ndbapi/testBasicAsynch.cpp: Change mode to -rw-rw-r-- ndb/tools/old_dirs/ndbnet/Makefile.PL: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Base.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Client.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Command.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Config.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Run.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util.pm: mvdir ndb/tools/old_dirs/ndbnet/ndbnet.pl: mvdir ndb/tools/old_dirs/ndbnet/ndbnetd.pl: mvdir ndb/tools/old_dirs/ndbnet/ndbrun: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Database.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Env.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Node.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeApi.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeDb.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeMgmt.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Server.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerINET.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerUNIX.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Base.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Database.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Env.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Node.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Base.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Dir.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Event.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/File.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/IO.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Lock.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Log.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Socket.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketINET.pm: mvdir ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketUNIX.pm: mvdir ndb/tools/old_dirs/ndbsql/Makefile: mvdir ndb/tools/old_dirs/src/counterviewer/CounterViewer.java: mvdir ndb/test/ndbapi/bank/Bank.hpp: mvdir ndb/test/ndbapi/bank/Makefile_old: Rename: ndb/test/ndbapi/bank/Makefile -> ndb/test/ndbapi/bank/Makefile_old ndb/test/ndbapi/bank/old_dirs/bankCreator/Makefile: mvdir ndb/test/ndbapi/bank/old_dirs/bankSumAccounts/Makefile: mvdir ndb/test/ndbapi/bank/old_dirs/bankMakeGL/Makefile: mvdir ndb/test/ndbapi/bank/old_dirs/bankTimer/Makefile: mvdir ndb/test/ndbapi/bank/old_dirs/bankValidateAllGLs/Makefile: mvdir ndb/test/ndbapi/bank/old_dirs/bankTransactionMaker/Makefile: mvdir ndb/test/ndbapi/bank/old_dirs/src/Makefile: mvdir ndb/test/ndbapi/bank/old_dirs/testBank/Makefile: mvdir ndb/test/ndbapi/ScanFilter.hpp: Rename: ndb/test/ndbapi/old_dirs/testScanInterpreter/ScanFilter.hpp -> ndb/test/ndbapi/ScanFilter.hpp ndb/test/ndbapi/ScanInterpretTest.hpp: Rename: ndb/test/ndbapi/old_dirs/testScanInterpreter/ScanInterpretTest.hpp -> ndb/test/ndbapi/ScanInterpretTest.hpp ndb/test/ndbapi/ScanFunctions.hpp: Rename: ndb/test/ndbapi/old_dirs/testScan/ScanFunctions.hpp -> ndb/test/ndbapi/ScanFunctions.hpp
647 lines
19 KiB
C++
647 lines
19 KiB
C++
/* Copyright (C) 2003 MySQL AB
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
|
|
|
|
//#define DEBUG_ON
|
|
|
|
#include "userInterface.h"
|
|
|
|
#include "macros.h"
|
|
#include "ndb_schema.hpp"
|
|
#include "ndb_error.hpp"
|
|
|
|
#include <NdbApi.hpp>
|
|
|
|
inline
|
|
NdbConnection *
|
|
startTransaction(Ndb * pNDB,
|
|
ServerId inServerId,
|
|
const SubscriberNumber inNumber){
|
|
|
|
const int keyDataLenBytes = sizeof(ServerId)+SUBSCRIBER_NUMBER_LENGTH;
|
|
const int keyDataLen_64Words = keyDataLenBytes >> 3;
|
|
|
|
Uint64 keyDataBuf[keyDataLen_64Words+1]; // The "+1" is for rounding...
|
|
|
|
char * keyDataBuf_charP = (char *)&keyDataBuf[0];
|
|
Uint32 * keyDataBuf_wo32P = (Uint32 *)&keyDataBuf[0];
|
|
|
|
// Server Id comes first
|
|
keyDataBuf_wo32P[0] = inServerId;
|
|
// Then subscriber number
|
|
memcpy(&keyDataBuf_charP[sizeof(ServerId)], inNumber,
|
|
SUBSCRIBER_NUMBER_LENGTH);
|
|
|
|
return pNDB->startTransaction(0, keyDataBuf_charP, keyDataLenBytes);
|
|
}
|
|
|
|
void T1_Callback(int result, NdbConnection * pCon, void * threadData);
|
|
void T2_Callback(int result, NdbConnection * pCon, void * threadData);
|
|
void T3_Callback_1(int result, NdbConnection * pCon, void * threadData);
|
|
void T3_Callback_2(int result, NdbConnection * pCon, void * threadData);
|
|
void T3_Callback_3(int result, NdbConnection * pCon, void * threadData);
|
|
void T4_Callback_1(int result, NdbConnection * pCon, void * threadData);
|
|
void T4_Callback_2(int result, NdbConnection * pCon, void * threadData);
|
|
void T4_Callback_3(int result, NdbConnection * pCon, void * threadData);
|
|
void T5_Callback_1(int result, NdbConnection * pCon, void * threadData);
|
|
void T5_Callback_2(int result, NdbConnection * pCon, void * threadData);
|
|
void T5_Callback_3(int result, NdbConnection * pCon, void * threadData);
|
|
|
|
/**
|
|
* Transaction 1 - T1
|
|
*
|
|
* Update location and changed by/time on a subscriber
|
|
*
|
|
* Input:
|
|
* SubscriberNumber,
|
|
* Location,
|
|
* ChangedBy,
|
|
* ChangedTime
|
|
*
|
|
* Output:
|
|
*/
|
|
void
|
|
start_T1(Ndb * pNDB, ThreadData * td){
|
|
|
|
DEBUG2("T1(%.*s): - Starting\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number);
|
|
|
|
int check;
|
|
NdbConnection * pCON = pNDB->startTransaction();
|
|
if (pCON != NULL) {
|
|
NdbOperation *MyOp = pCON->getNdbOperation(SUBSCRIBER_TABLE);
|
|
if (MyOp != NULL) {
|
|
MyOp->updateTuple();
|
|
MyOp->equal(IND_SUBSCRIBER_NUMBER,
|
|
td->transactionData.number);
|
|
MyOp->setValue(IND_SUBSCRIBER_LOCATION,
|
|
(char *)&td->transactionData.location);
|
|
MyOp->setValue(IND_SUBSCRIBER_CHANGED_BY,
|
|
td->transactionData.changed_by);
|
|
MyOp->setValue(IND_SUBSCRIBER_CHANGED_TIME,
|
|
td->transactionData.changed_time);
|
|
pCON->executeAsynchPrepare( Commit , T1_Callback, td);
|
|
} else {
|
|
CHECK_NULL(MyOp, "T1: getNdbOperation", pCON);
|
|
}//if
|
|
} else {
|
|
error_handler("T1-1: startTranscation",
|
|
pNDB->getNdbErrorString(),
|
|
pNDB->getNdbError());
|
|
}//if
|
|
}
|
|
|
|
void
|
|
T1_Callback(int result, NdbConnection * pCON, void * threadData){
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
DEBUG2("T1(%.*s): - Completing\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number);
|
|
|
|
CHECK_MINUS_ONE(result, "T1: Commit",
|
|
pCON);
|
|
td->pNDB->closeTransaction(pCON);
|
|
complete_T1(td);
|
|
}
|
|
|
|
/**
|
|
* Transaction 2 - T2
|
|
*
|
|
* Read from Subscriber:
|
|
*
|
|
* Input:
|
|
* SubscriberNumber
|
|
*
|
|
* Output:
|
|
* Location
|
|
* Changed by
|
|
* Changed Timestamp
|
|
* Name
|
|
*/
|
|
void
|
|
start_T2(Ndb * pNDB, ThreadData * td){
|
|
|
|
DEBUG3("T2(%.*s, %p): - Starting\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.location);
|
|
|
|
int check;
|
|
NdbRecAttr * check2;
|
|
|
|
NdbConnection * pCON = pNDB->startTransaction();
|
|
if (pCON == NULL)
|
|
error_handler("T2-1: startTransaction",
|
|
pNDB->getNdbErrorString(),
|
|
pNDB->getNdbError());
|
|
|
|
NdbOperation *MyOp= pCON->getNdbOperation(SUBSCRIBER_TABLE);
|
|
CHECK_NULL(MyOp, "T2: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->readTuple();
|
|
MyOp->equal(IND_SUBSCRIBER_NUMBER,
|
|
td->transactionData.number);
|
|
MyOp->getValue(IND_SUBSCRIBER_LOCATION,
|
|
(char *)&td->transactionData.location);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_BY,
|
|
td->transactionData.changed_by);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_TIME,
|
|
td->transactionData.changed_time);
|
|
MyOp->getValue(IND_SUBSCRIBER_NAME,
|
|
td->transactionData.name);
|
|
pCON->executeAsynchPrepare( Commit, T2_Callback, td );
|
|
}
|
|
|
|
void
|
|
T2_Callback(int result, NdbConnection * pCON, void * threadData){
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
DEBUG3("T2(%.*s, %p): - Completing\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.location);
|
|
|
|
CHECK_MINUS_ONE(result, "T2: Commit", pCON);
|
|
td->pNDB->closeTransaction(pCON);
|
|
complete_T2(td);
|
|
}
|
|
|
|
/**
|
|
* Transaction 3 - T3
|
|
*
|
|
* Read session details
|
|
*
|
|
* Input:
|
|
* SubscriberNumber
|
|
* ServerId
|
|
* ServerBit
|
|
*
|
|
* Output:
|
|
* BranchExecuted
|
|
* SessionDetails
|
|
* ChangedBy
|
|
* ChangedTime
|
|
* Location
|
|
*/
|
|
void
|
|
start_T3(Ndb * pNDB, ThreadData * td){
|
|
|
|
DEBUG3("T3(%.*s, %.2d): - Starting\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
int check;
|
|
NdbRecAttr * check2;
|
|
|
|
NdbConnection * pCON = startTransaction(pNDB,
|
|
td->transactionData.server_id,
|
|
td->transactionData.number);
|
|
if (pCON == NULL)
|
|
error_handler("T3-1: startTranscation",
|
|
pNDB->getNdbErrorString(),
|
|
pNDB->getNdbError());
|
|
|
|
NdbOperation *MyOp= pCON->getNdbOperation(SUBSCRIBER_TABLE);
|
|
CHECK_NULL(MyOp, "T3-1: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->readTuple();
|
|
MyOp->equal(IND_SUBSCRIBER_NUMBER,
|
|
td->transactionData.number);
|
|
MyOp->getValue(IND_SUBSCRIBER_LOCATION,
|
|
(char *)&td->transactionData.location);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_BY,
|
|
td->transactionData.changed_by);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_TIME,
|
|
td->transactionData.changed_time);
|
|
MyOp->getValue(IND_SUBSCRIBER_GROUP,
|
|
(char *)&td->transactionData.group_id);
|
|
MyOp->getValue(IND_SUBSCRIBER_SESSIONS,
|
|
(char *)&td->transactionData.sessions);
|
|
pCON->executeAsynchPrepare( NoCommit , T3_Callback_1, td);
|
|
}
|
|
|
|
void
|
|
T3_Callback_1(int result, NdbConnection * pCON, void * threadData){
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
DEBUG3("T3(%.*s, %.2d): - Callback 1\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
CHECK_MINUS_ONE(result, "T3-1: NoCommit", pCON);
|
|
|
|
NdbOperation * MyOp = pCON->getNdbOperation(GROUP_TABLE);
|
|
CHECK_NULL(MyOp, "T3-2: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->readTuple();
|
|
MyOp->equal(IND_GROUP_ID,
|
|
(char*)&td->transactionData.group_id);
|
|
MyOp->getValue(IND_GROUP_ALLOW_READ,
|
|
(char *)&td->transactionData.permission);
|
|
pCON->executeAsynchPrepare( NoCommit, T3_Callback_2, td );
|
|
}
|
|
|
|
void
|
|
T3_Callback_2(int result, NdbConnection * pCON, void * threadData){
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
CHECK_MINUS_ONE(result, "T3-2: NoCommit", pCON);
|
|
|
|
Uint32 permission = td->transactionData.permission;
|
|
Uint32 sessions = td->transactionData.sessions;
|
|
Uint32 server_bit = td->transactionData.server_bit;
|
|
|
|
if(((permission & server_bit) == server_bit) &&
|
|
((sessions & server_bit) == server_bit)){
|
|
|
|
memcpy(td->transactionData.suffix,
|
|
&td->transactionData.number
|
|
[SUBSCRIBER_NUMBER_LENGTH-SUBSCRIBER_NUMBER_SUFFIX_LENGTH],
|
|
SUBSCRIBER_NUMBER_SUFFIX_LENGTH);
|
|
DEBUG5("T3(%.*s, %.2d): - Callback 2 - reading(%.*s)\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id,
|
|
SUBSCRIBER_NUMBER_SUFFIX_LENGTH,
|
|
td->transactionData.suffix);
|
|
|
|
/* Operation 3 */
|
|
NdbOperation * MyOp = pCON->getNdbOperation(SESSION_TABLE);
|
|
CHECK_NULL(MyOp, "T3-3: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->simpleRead();
|
|
MyOp->equal(IND_SESSION_SUBSCRIBER,
|
|
(char*)td->transactionData.number);
|
|
MyOp->equal(IND_SESSION_SERVER,
|
|
(char*)&td->transactionData.server_id);
|
|
MyOp->getValue(IND_SESSION_DATA,
|
|
(char *)td->transactionData.session_details);
|
|
|
|
/* Operation 4 */
|
|
MyOp = pCON->getNdbOperation(SERVER_TABLE);
|
|
CHECK_NULL(MyOp, "T3-4: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->interpretedUpdateTuple();
|
|
MyOp->equal(IND_SERVER_ID,
|
|
(char*)&td->transactionData.server_id);
|
|
MyOp->equal(IND_SERVER_SUBSCRIBER_SUFFIX,
|
|
(char*)td->transactionData.suffix);
|
|
MyOp->incValue(IND_SERVER_READS, (uint32)1);
|
|
td->transactionData.branchExecuted = 1;
|
|
} else {
|
|
DEBUG3("T3(%.*s, %.2d): - Callback 2 - no read\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
td->transactionData.branchExecuted = 0;
|
|
}
|
|
pCON->executeAsynchPrepare( Commit, T3_Callback_3, td );
|
|
}
|
|
|
|
void
|
|
T3_Callback_3(int result, NdbConnection * pCON, void * threadData){
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
DEBUG3("T3(%.*s, %.2d): - Completing\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
CHECK_MINUS_ONE(result, "T3-3: Commit", pCON);
|
|
|
|
td->pNDB->closeTransaction(pCON);
|
|
complete_T3(td);
|
|
}
|
|
|
|
/**
|
|
* Transaction 4 - T4
|
|
*
|
|
* Create session
|
|
*
|
|
* Input:
|
|
* SubscriberNumber
|
|
* ServerId
|
|
* ServerBit
|
|
* SessionDetails,
|
|
* DoRollback
|
|
* Output:
|
|
* ChangedBy
|
|
* ChangedTime
|
|
* Location
|
|
* BranchExecuted
|
|
*/
|
|
void
|
|
start_T4(Ndb * pNDB, ThreadData * td){
|
|
|
|
DEBUG3("T4(%.*s, %.2d): - Starting\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
int check;
|
|
NdbRecAttr * check2;
|
|
|
|
NdbConnection * pCON = startTransaction(pNDB,
|
|
td->transactionData.server_id,
|
|
td->transactionData.number);
|
|
if (pCON == NULL)
|
|
error_handler("T4-1: startTranscation",
|
|
pNDB->getNdbErrorString(),
|
|
pNDB->getNdbError());
|
|
|
|
NdbOperation *MyOp= pCON->getNdbOperation(SUBSCRIBER_TABLE);
|
|
CHECK_NULL(MyOp, "T4-1: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->interpretedUpdateTuple();
|
|
MyOp->equal(IND_SUBSCRIBER_NUMBER,
|
|
td->transactionData.number);
|
|
MyOp->getValue(IND_SUBSCRIBER_LOCATION,
|
|
(char *)&td->transactionData.location);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_BY,
|
|
td->transactionData.changed_by);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_TIME,
|
|
td->transactionData.changed_time);
|
|
MyOp->getValue(IND_SUBSCRIBER_GROUP,
|
|
(char *)&td->transactionData.group_id);
|
|
MyOp->getValue(IND_SUBSCRIBER_SESSIONS,
|
|
(char *)&td->transactionData.sessions);
|
|
MyOp->incValue(IND_SUBSCRIBER_SESSIONS,
|
|
(uint32)td->transactionData.server_bit);
|
|
pCON->executeAsynchPrepare( NoCommit , T4_Callback_1, td);
|
|
}
|
|
|
|
void
|
|
T4_Callback_1(int result, NdbConnection * pCON, void * threadData){
|
|
CHECK_MINUS_ONE(result, "T4-1: NoCommit", pCON);
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
DEBUG3("T4(%.*s, %.2d): - Callback 1\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
|
|
NdbOperation * MyOp = pCON->getNdbOperation(GROUP_TABLE);
|
|
CHECK_NULL(MyOp, "T4-2: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->readTuple();
|
|
MyOp->equal(IND_GROUP_ID,
|
|
(char*)&td->transactionData.group_id);
|
|
MyOp->getValue(IND_GROUP_ALLOW_INSERT,
|
|
(char *)&td->transactionData.permission);
|
|
pCON->executeAsynchPrepare( NoCommit , T4_Callback_2, td);
|
|
}
|
|
|
|
void
|
|
T4_Callback_2(int result, NdbConnection * pCON, void * threadData){
|
|
CHECK_MINUS_ONE(result, "T4-2: NoCommit", pCON);
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
Uint32 permission = td->transactionData.permission;
|
|
Uint32 sessions = td->transactionData.sessions;
|
|
Uint32 server_bit = td->transactionData.server_bit;
|
|
|
|
if(((permission & server_bit) == server_bit) &&
|
|
((sessions & server_bit) == 0)){
|
|
|
|
memcpy(td->transactionData.suffix,
|
|
&td->transactionData.number
|
|
[SUBSCRIBER_NUMBER_LENGTH-SUBSCRIBER_NUMBER_SUFFIX_LENGTH],
|
|
SUBSCRIBER_NUMBER_SUFFIX_LENGTH);
|
|
|
|
DEBUG5("T4(%.*s, %.2d): - Callback 2 - inserting(%.*s)\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id,
|
|
SUBSCRIBER_NUMBER_SUFFIX_LENGTH,
|
|
td->transactionData.suffix);
|
|
|
|
/* Operation 3 */
|
|
|
|
NdbOperation * MyOp = pCON->getNdbOperation(SESSION_TABLE);
|
|
CHECK_NULL(MyOp, "T4-3: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->insertTuple();
|
|
MyOp->equal(IND_SESSION_SUBSCRIBER,
|
|
(char*)td->transactionData.number);
|
|
MyOp->equal(IND_SESSION_SERVER,
|
|
(char*)&td->transactionData.server_id);
|
|
MyOp->setValue(SESSION_DATA,
|
|
(char *)td->transactionData.session_details);
|
|
/* Operation 4 */
|
|
|
|
/* Operation 5 */
|
|
MyOp = pCON->getNdbOperation(SERVER_TABLE);
|
|
CHECK_NULL(MyOp, "T4-5: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->interpretedUpdateTuple();
|
|
MyOp->equal(IND_SERVER_ID,
|
|
(char*)&td->transactionData.server_id);
|
|
MyOp->equal(IND_SERVER_SUBSCRIBER_SUFFIX,
|
|
(char*)td->transactionData.suffix);
|
|
MyOp->incValue(IND_SERVER_INSERTS, (uint32)1);
|
|
td->transactionData.branchExecuted = 1;
|
|
} else {
|
|
td->transactionData.branchExecuted = 0;
|
|
DEBUG5("T4(%.*s, %.2d): - Callback 2 - %s %s\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id,
|
|
((permission & server_bit) ?
|
|
"permission - " : "no permission - "),
|
|
((sessions & server_bit) ?
|
|
"in session - " : "no in session - "));
|
|
}
|
|
|
|
if(!td->transactionData.do_rollback && td->transactionData.branchExecuted){
|
|
pCON->executeAsynchPrepare(Commit, T4_Callback_3, td);
|
|
} else {
|
|
pCON->executeAsynchPrepare(Rollback, T4_Callback_3, td);
|
|
}
|
|
}
|
|
|
|
void
|
|
T4_Callback_3(int result, NdbConnection * pCON, void * threadData){
|
|
CHECK_MINUS_ONE(result, "T4-3: Commit", pCON);
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
DEBUG3("T4(%.*s, %.2d): - Completing\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
td->pNDB->closeTransaction(pCON);
|
|
complete_T4(td);
|
|
}
|
|
|
|
/**
|
|
* Transaction 5 - T5
|
|
*
|
|
* Delete session
|
|
*
|
|
* Input:
|
|
* SubscriberNumber
|
|
* ServerId
|
|
* ServerBit
|
|
* DoRollback
|
|
* Output:
|
|
* ChangedBy
|
|
* ChangedTime
|
|
* Location
|
|
* BranchExecuted
|
|
*/
|
|
void
|
|
start_T5(Ndb * pNDB, ThreadData * td){
|
|
|
|
DEBUG3("T5(%.*s, %.2d): - Starting\n", SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
int check;
|
|
NdbRecAttr * check2;
|
|
|
|
NdbConnection * pCON = pNDB->startTransaction();
|
|
if (pCON == NULL)
|
|
error_handler("T5-1: startTranscation",
|
|
pNDB->getNdbErrorString(),
|
|
pNDB->getNdbError());
|
|
|
|
NdbOperation * MyOp= pCON->getNdbOperation(SUBSCRIBER_TABLE);
|
|
CHECK_NULL(MyOp, "T5-1: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->interpretedUpdateTuple();
|
|
MyOp->equal(IND_SUBSCRIBER_NUMBER,
|
|
td->transactionData.number);
|
|
MyOp->getValue(IND_SUBSCRIBER_LOCATION,
|
|
(char *)&td->transactionData.location);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_BY,
|
|
td->transactionData.changed_by);
|
|
MyOp->getValue(IND_SUBSCRIBER_CHANGED_TIME,
|
|
td->transactionData.changed_time);
|
|
MyOp->getValue(IND_SUBSCRIBER_GROUP,
|
|
(char *)&td->transactionData.group_id);
|
|
MyOp->getValue(IND_SUBSCRIBER_SESSIONS,
|
|
(char *)&td->transactionData.sessions);
|
|
MyOp->subValue(IND_SUBSCRIBER_SESSIONS,
|
|
(uint32)td->transactionData.server_bit);
|
|
pCON->executeAsynchPrepare( NoCommit, T5_Callback_1, td );
|
|
}
|
|
|
|
void
|
|
T5_Callback_1(int result, NdbConnection * pCON, void * threadData){
|
|
CHECK_MINUS_ONE(result, "T5-1: NoCommit", pCON);
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
DEBUG3("T5(%.*s, %.2d): - Callback 1\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
NdbOperation * MyOp = pCON->getNdbOperation(GROUP_TABLE);
|
|
CHECK_NULL(MyOp, "T5-2: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->readTuple();
|
|
MyOp->equal(IND_GROUP_ID,
|
|
(char*)&td->transactionData.group_id);
|
|
MyOp->getValue(IND_GROUP_ALLOW_DELETE,
|
|
(char *)&td->transactionData.permission);
|
|
pCON->executeAsynchPrepare( NoCommit, T5_Callback_2, td );
|
|
}
|
|
|
|
void
|
|
T5_Callback_2(int result, NdbConnection * pCON, void * threadData){
|
|
CHECK_MINUS_ONE(result, "T5-2: NoCommit", pCON);
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
Uint32 permission = td->transactionData.permission;
|
|
Uint32 sessions = td->transactionData.sessions;
|
|
Uint32 server_bit = td->transactionData.server_bit;
|
|
|
|
if(((permission & server_bit) == server_bit) &&
|
|
((sessions & server_bit) == server_bit)){
|
|
|
|
memcpy(td->transactionData.suffix,
|
|
&td->transactionData.number
|
|
[SUBSCRIBER_NUMBER_LENGTH-SUBSCRIBER_NUMBER_SUFFIX_LENGTH],
|
|
SUBSCRIBER_NUMBER_SUFFIX_LENGTH);
|
|
|
|
DEBUG5("T5(%.*s, %.2d): - Callback 2 - deleting(%.*s)\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id,
|
|
SUBSCRIBER_NUMBER_SUFFIX_LENGTH,
|
|
td->transactionData.suffix);
|
|
|
|
/* Operation 3 */
|
|
NdbOperation * MyOp = pCON->getNdbOperation(SESSION_TABLE);
|
|
CHECK_NULL(MyOp, "T5-3: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->deleteTuple();
|
|
MyOp->equal(IND_SESSION_SUBSCRIBER,
|
|
(char*)td->transactionData.number);
|
|
MyOp->equal(IND_SESSION_SERVER,
|
|
(char*)&td->transactionData.server_id);
|
|
/* Operation 4 */
|
|
|
|
/* Operation 5 */
|
|
MyOp = pCON->getNdbOperation(SERVER_TABLE);
|
|
CHECK_NULL(MyOp, "T5-5: getNdbOperation",
|
|
pCON);
|
|
|
|
MyOp->interpretedUpdateTuple();
|
|
MyOp->equal(IND_SERVER_ID,
|
|
(char*)&td->transactionData.server_id);
|
|
MyOp->equal(IND_SERVER_SUBSCRIBER_SUFFIX,
|
|
(char*)td->transactionData.suffix);
|
|
MyOp->incValue(IND_SERVER_DELETES, (uint32)1);
|
|
td->transactionData.branchExecuted = 1;
|
|
} else {
|
|
td->transactionData.branchExecuted = 0;
|
|
|
|
DEBUG5("T5(%.*s, %.2d): - Callback 2 - no delete - %s %s\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id,
|
|
((permission & server_bit) ?
|
|
"permission - " : "no permission - "),
|
|
((sessions & server_bit) ?
|
|
"in session - " : "no in session - "));
|
|
}
|
|
|
|
if(!td->transactionData.do_rollback && td->transactionData.branchExecuted){
|
|
pCON->executeAsynchPrepare(Commit, T5_Callback_3, td);
|
|
} else {
|
|
pCON->executeAsynchPrepare(Rollback, T5_Callback_3, td);
|
|
}
|
|
}
|
|
|
|
void
|
|
T5_Callback_3(int result, NdbConnection * pCON, void * threadData){
|
|
CHECK_MINUS_ONE(result, "T5-3: Commit", pCON);
|
|
ThreadData * td = (ThreadData *)threadData;
|
|
|
|
DEBUG3("T5(%.*s, %.2d): - Completing\n",
|
|
SUBSCRIBER_NUMBER_LENGTH,
|
|
td->transactionData.number,
|
|
td->transactionData.server_id);
|
|
|
|
td->pNDB->closeTransaction(pCON);
|
|
complete_T5(td);
|
|
}
|