summaryrefslogtreecommitdiff
path: root/storage/ndb/tools/old_dirs/ndbnet/lib/NDB
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2006-04-18 12:12:46 -0700
committerunknown <jimw@mysql.com>2006-04-18 12:12:46 -0700
commitb709511e406552f8d8884e80befd78f98604eeeb (patch)
treee53c2d408d22d66f7260c608a71f2561220320bd /storage/ndb/tools/old_dirs/ndbnet/lib/NDB
parent3e21b9d0dad908d1e0b0d414bf2186fa24e05616 (diff)
downloadmariadb-git-b709511e406552f8d8884e80befd78f98604eeeb.tar.gz
Nuke all of the old_* directories in the ndb tree.
BitKeeper/deleted/.del-Makefile~6c2778d2bf4954a2: Delete: storage/ndb/src/old_files/client/Makefile BitKeeper/deleted/.del-Extra.mk~eabbb28986ca817d: Delete: storage/ndb/src/old_files/client/odbc/Extra.mk BitKeeper/deleted/.del-Makefile~9bc928a18aa88d66: Delete: storage/ndb/src/old_files/client/odbc/Makefile BitKeeper/deleted/.del-NdbOdbc.cpp~aa491b06c9172d11: Delete: storage/ndb/src/old_files/client/odbc/NdbOdbc.cpp BitKeeper/deleted/.del-NdbOdbc.def~cd3eed2c4a0121e9: Delete: storage/ndb/src/old_files/client/odbc/NdbOdbc.def BitKeeper/deleted/.del-CodeGen.cpp~170c83c0765b9160: Delete: storage/ndb/src/old_files/client/odbc/codegen/CodeGen.cpp BitKeeper/deleted/.del-CodeGen.hpp~738f834f80cceba8: Delete: storage/ndb/src/old_files/client/odbc/codegen/CodeGen.hpp BitKeeper/deleted/.del-Code_base.cpp~96f8ceaac8138bfe: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_base.cpp BitKeeper/deleted/.del-Code_base.hpp~794baaed32588409: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_base.hpp BitKeeper/deleted/.del-Code_column.cpp~5dd0e5c1215bd8bf: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_column.cpp BitKeeper/deleted/.del-Code_column.hpp~5d5816d1c496e588: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_column.hpp BitKeeper/deleted/.del-Code_comp_op.cpp~6ab02cc3b1e08985: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_comp_op.cpp BitKeeper/deleted/.del-Code_comp_op.hpp~37cf1e4cee3a6bf1: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_comp_op.hpp BitKeeper/deleted/.del-Code_create_index.cpp~d1f95c5917afab9: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_create_index.cpp BitKeeper/deleted/.del-Code_create_index.hpp~12bcb33350fc35c1: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_create_index.hpp BitKeeper/deleted/.del-Code_create_row.cpp~33f73454f8ddf2d5: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_create_row.cpp BitKeeper/deleted/.del-Code_create_row.hpp~38cb00cc1baa9ee7: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_create_row.hpp BitKeeper/deleted/.del-Code_create_table.cpp~c25e7cc06414a927: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_create_table.cpp BitKeeper/deleted/.del-Code_create_table.hpp~9648f467f3f0418e: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_create_table.hpp BitKeeper/deleted/.del-Code_data_type.cpp~9e46a7ef85345d4: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_data_type.cpp BitKeeper/deleted/.del-Code_data_type.hpp~5e8928968d3c0107: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_data_type.hpp BitKeeper/deleted/.del-Code_ddl.cpp~c38ee5368efaf688: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl.cpp BitKeeper/deleted/.del-Code_ddl.hpp~75482ddd87b65036: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl.hpp BitKeeper/deleted/.del-Code_ddl_column.cpp~c524862773dd9f38: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl_column.cpp BitKeeper/deleted/.del-Code_ddl_column.hpp~c9e534e381b21599: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl_column.hpp BitKeeper/deleted/.del-Code_ddl_constr.cpp~80ae32f83a6c2f00: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl_constr.cpp BitKeeper/deleted/.del-Code_ddl_constr.hpp~bca16806c57bc97e: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl_constr.hpp BitKeeper/deleted/.del-Code_ddl_row.cpp~ec2fbc3b8ab08a52: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl_row.cpp BitKeeper/deleted/.del-Code_ddl_row.hpp~c18a43b3770ad25a: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_ddl_row.hpp BitKeeper/deleted/.del-Code_delete.cpp~feac77b440d04327: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete.cpp BitKeeper/deleted/.del-Code_delete.hpp~c852ee069a761aab: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete.hpp BitKeeper/deleted/.del-Code_delete_index.cpp~17ed96eca90fe4e7: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete_index.cpp BitKeeper/deleted/.del-Code_delete_index.hpp~18a9bb119b04636: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete_index.hpp BitKeeper/deleted/.del-Code_delete_lookup.cpp~1a3728f8c896684: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete_lookup.cpp BitKeeper/deleted/.del-Code_delete_lookup.hpp~1be71525ed9ee69: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete_lookup.hpp BitKeeper/deleted/.del-Code_delete_scan.cpp~b040ad7670c24eb5: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete_scan.cpp BitKeeper/deleted/.del-Code_delete_scan.hpp~b9a11b4ec895d159: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_delete_scan.hpp BitKeeper/deleted/.del-Code_dml.cpp~6826ad60f0f566e7: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_dml.cpp BitKeeper/deleted/.del-Code_dml.hpp~8fdbf19ad3174ca2: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_dml.hpp BitKeeper/deleted/.del-Code_dml_column.cpp~b71ce6186edf1655: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_dml_column.cpp BitKeeper/deleted/.del-Code_dml_column.hpp~a843b3418b30b7a3: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_dml_column.hpp BitKeeper/deleted/.del-Code_dml_row.cpp~17c791507b36cc06: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_dml_row.cpp BitKeeper/deleted/.del-Code_dml_row.hpp~33c4cffdd238728d: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_dml_row.hpp BitKeeper/deleted/.del-Code_drop_index.cpp~fc5cab67ae58d9f6: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_drop_index.cpp BitKeeper/deleted/.del-Code_drop_index.hpp~377c9eb280ec2ee2: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_drop_index.hpp BitKeeper/deleted/.del-Code_drop_table.cpp~9637d93efa68996a: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_drop_table.cpp BitKeeper/deleted/.del-Code_drop_table.hpp~d671379125e4bbbe: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_drop_table.hpp BitKeeper/deleted/.del-Code_expr.cpp~fafd271880c70cf3: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr.cpp BitKeeper/deleted/.del-Code_expr.hpp~9e8243e99e0ec84: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr.hpp BitKeeper/deleted/.del-Code_expr_column.cpp~4c4fbcd5741cc8cf: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_column.cpp BitKeeper/deleted/.del-Code_expr_column.hpp~9c4cbbdf432dc475: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_column.hpp BitKeeper/deleted/.del-Code_expr_const.cpp~bdb29dcd94ac5e73: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_const.cpp BitKeeper/deleted/.del-Code_expr_const.hpp~9c8789cff376b832: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_const.hpp BitKeeper/deleted/.del-Code_expr_conv.cpp~d252fbfe8ef55fff: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_conv.cpp BitKeeper/deleted/.del-Code_expr_conv.hpp~5cbea39eecb92a43: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_conv.hpp BitKeeper/deleted/.del-Code_expr_func.cpp~5d3996f062fa3f52: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_func.cpp BitKeeper/deleted/.del-Code_expr_func.hpp~22aee1e4f92c49b9: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_func.hpp BitKeeper/deleted/.del-Code_expr_op.cpp~e1aaa0244f2efa4: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_op.cpp BitKeeper/deleted/.del-Code_expr_op.hpp~4eb8c02dd0602f: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_op.hpp BitKeeper/deleted/.del-Code_expr_param.cpp~a5e94ee7c5821611: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_param.cpp BitKeeper/deleted/.del-Code_expr_param.hpp~ec441ad8ef21aa2b: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_param.hpp BitKeeper/deleted/.del-Code_expr_row.cpp~bc73d8f9c681d418: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_row.cpp BitKeeper/deleted/.del-Code_expr_row.hpp~c541c49ea8c0c4f2: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_expr_row.hpp BitKeeper/deleted/.del-Code_idx_column.cpp~7d4d074ce5daea0a: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_idx_column.cpp BitKeeper/deleted/.del-Code_idx_column.hpp~caabaafa34722be7: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_idx_column.hpp BitKeeper/deleted/.del-Code_insert.cpp~7d0ef7cc8f657fd5: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_insert.cpp BitKeeper/deleted/.del-Code_insert.hpp~cc96fa9b81169471: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_insert.hpp BitKeeper/deleted/.del-Code_pred.cpp~56faa755aa42ddfa: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_pred.cpp BitKeeper/deleted/.del-Code_pred.hpp~eada43753e8b1e6c: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_pred.hpp BitKeeper/deleted/.del-Code_pred_op.cpp~47d693dde1a6d907: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_pred_op.cpp BitKeeper/deleted/.del-Code_pred_op.hpp~b42256983d2bda7b: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_pred_op.hpp BitKeeper/deleted/.del-Code_query.cpp~4ac293821c9b4602: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query.cpp BitKeeper/deleted/.del-Code_query.hpp~f86fbd9a108206c0: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query.hpp BitKeeper/deleted/.del-Code_query_count.cpp~9fa96a57d2dde660: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_count.cpp BitKeeper/deleted/.del-Code_query_count.hpp~bdbe6e4734abc0c5: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_count.hpp BitKeeper/deleted/.del-Code_query_distinct.cpp~3ba18528aa67b9dd: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_distinct.cpp BitKeeper/deleted/.del-Code_query_distinct.hpp~c12b2b7ff6b2e7b3: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_distinct.hpp BitKeeper/deleted/.del-Code_query_filter.cpp~a3d067d5d8fb40c: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_filter.cpp BitKeeper/deleted/.del-Code_query_filter.hpp~d0a341f2e40f0183: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_filter.hpp BitKeeper/deleted/.del-Code_query_group.cpp~4443c844308f9a98: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_group.cpp BitKeeper/deleted/.del-Code_query_group.hpp~ba4691be942c6e2a: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_group.hpp BitKeeper/deleted/.del-Code_query_index.cpp~f0312c9e2f22daf6: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_index.cpp BitKeeper/deleted/.del-Code_query_index.hpp~6baaf1abbb704bb1: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_index.hpp BitKeeper/deleted/.del-Code_query_join.cpp~36e07422c67d6838: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_join.cpp BitKeeper/deleted/.del-Code_query_join.hpp~c4d17d18c4e3b4a0: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_join.hpp BitKeeper/deleted/.del-Code_query_lookup.cpp~3d80e3ddbdae531d: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_lookup.cpp BitKeeper/deleted/.del-Code_query_lookup.hpp~73332533e5196630: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_lookup.hpp BitKeeper/deleted/.del-Code_query_project.cpp~ebc22f71bb7ec98c: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_project.cpp BitKeeper/deleted/.del-Code_query_project.hpp~2734cdf1f907e0a4: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_project.hpp BitKeeper/deleted/.del-Code_query_range.cpp~62ddafd2d17063cc: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_range.cpp BitKeeper/deleted/.del-Code_query_range.hpp~81546843616efefa: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_range.hpp BitKeeper/deleted/.del-Code_query_repeat.cpp~ce8f2a065897d6e3: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_repeat.cpp BitKeeper/deleted/.del-Code_query_repeat.hpp~c20e10d0db9ad53c: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_repeat.hpp BitKeeper/deleted/.del-Code_query_scan.cpp~855e56d6f56de938: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_scan.cpp BitKeeper/deleted/.del-Code_query_scan.hpp~b93c277da5b2509b: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_scan.hpp BitKeeper/deleted/.del-Code_query_sort.cpp~c08fc07f739de097: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_sort.cpp BitKeeper/deleted/.del-Code_query_sort.hpp~84edb5e128eda962: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_sort.hpp BitKeeper/deleted/.del-Code_query_sys.cpp~1d6a4a1cec789001: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_sys.cpp BitKeeper/deleted/.del-Code_query_sys.hpp~f5182823da25f097: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_query_sys.hpp BitKeeper/deleted/.del-Code_root.cpp~4c26a01ced583e41: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_root.cpp BitKeeper/deleted/.del-Code_root.hpp~de1fd878505d9e26: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_root.hpp BitKeeper/deleted/.del-Code_select.cpp~75b2a39f282d8ef5: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_select.cpp BitKeeper/deleted/.del-Code_select.hpp~f9fadc322d78033a: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_select.hpp BitKeeper/deleted/.del-Code_set_row.cpp~1bda7e6f86f18aef: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_set_row.cpp BitKeeper/deleted/.del-Code_set_row.hpp~32ac3de384b91229: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_set_row.hpp BitKeeper/deleted/.del-Code_stmt.cpp~c0e9903aa90df90b: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_stmt.cpp BitKeeper/deleted/.del-Code_stmt.hpp~fab11fc487e74d05: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_stmt.hpp BitKeeper/deleted/.del-Code_table.cpp~c46b7a6e2ecf4f61: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_table.cpp BitKeeper/deleted/.del-Code_table.hpp~a48d57a0375a6d56: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_table.hpp BitKeeper/deleted/.del-Code_table_list.cpp~40948eccedfae7bb: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_table_list.cpp BitKeeper/deleted/.del-Code_table_list.hpp~c1e880e9949d3a: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_table_list.hpp BitKeeper/deleted/.del-Code_update.cpp~ed36f4a7a928a91b: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update.cpp BitKeeper/deleted/.del-Code_update.hpp~c1de760c7b580b0c: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update.hpp BitKeeper/deleted/.del-Code_update_index.cpp~a0c6ad33ffbbc00e: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update_index.cpp BitKeeper/deleted/.del-Code_update_index.hpp~b57bbe5c8d927df9: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update_index.hpp BitKeeper/deleted/.del-Code_update_lookup.cpp~3491782088e97384: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update_lookup.cpp BitKeeper/deleted/.del-Code_update_lookup.hpp~ee335822c3496863: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update_lookup.hpp BitKeeper/deleted/.del-Code_update_scan.cpp~35e5b7d4619b3e09: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update_scan.cpp BitKeeper/deleted/.del-Code_update_scan.hpp~287f193ad48fbefd: Delete: storage/ndb/src/old_files/client/odbc/codegen/Code_update_scan.hpp BitKeeper/deleted/.del-Makefile~420b8378d374f069: Delete: storage/ndb/src/old_files/client/odbc/codegen/Makefile BitKeeper/deleted/.del-SimpleGram.ypp~6301cedf92524710: Delete: storage/ndb/src/old_files/client/odbc/codegen/SimpleGram.ypp BitKeeper/deleted/.del-SimpleParser.cpp~549f93e2a7fd01b5: Delete: storage/ndb/src/old_files/client/odbc/codegen/SimpleParser.cpp BitKeeper/deleted/.del-SimpleParser.hpp~4fdff7ee3839efc4: Delete: storage/ndb/src/old_files/client/odbc/codegen/SimpleParser.hpp BitKeeper/deleted/.del-SimpleScan.lpp~e11862b97fe39faf: Delete: storage/ndb/src/old_files/client/odbc/codegen/SimpleScan.lpp BitKeeper/deleted/.del-AttrArea.cpp~1570da617a1a6c4b: Delete: storage/ndb/src/old_files/client/odbc/common/AttrArea.cpp BitKeeper/deleted/.del-AttrArea.hpp~f3d78ccd37af4e6: Delete: storage/ndb/src/old_files/client/odbc/common/AttrArea.hpp BitKeeper/deleted/.del-CodeTree.cpp~1a4912632b0a61ee: Delete: storage/ndb/src/old_files/client/odbc/common/CodeTree.cpp BitKeeper/deleted/.del-CodeTree.hpp~dcb603cce390eafa: Delete: storage/ndb/src/old_files/client/odbc/common/CodeTree.hpp BitKeeper/deleted/.del-ConnArea.cpp~103182cf445f0bc3: Delete: storage/ndb/src/old_files/client/odbc/common/ConnArea.cpp BitKeeper/deleted/.del-ConnArea.hpp~ffe99deedf7dc1ee: Delete: storage/ndb/src/old_files/client/odbc/common/ConnArea.hpp BitKeeper/deleted/.del-Ctx.cpp~ce1c13ba8a312eba: Delete: storage/ndb/src/old_files/client/odbc/common/Ctx.cpp BitKeeper/deleted/.del-Ctx.hpp~bc88aba55ab71063: Delete: storage/ndb/src/old_files/client/odbc/common/Ctx.hpp BitKeeper/deleted/.del-DataField.cpp~6bb1fe1cb971c8f9: Delete: storage/ndb/src/old_files/client/odbc/common/DataField.cpp BitKeeper/deleted/.del-DataField.hpp~d324898a9a86463d: Delete: storage/ndb/src/old_files/client/odbc/common/DataField.hpp BitKeeper/deleted/.del-DataRow.cpp~8764a23cee4f9481: Delete: storage/ndb/src/old_files/client/odbc/common/DataRow.cpp BitKeeper/deleted/.del-DataRow.hpp~66a65eee1a1b2f23: Delete: storage/ndb/src/old_files/client/odbc/common/DataRow.hpp BitKeeper/deleted/.del-DataType.cpp~29b8ddd51fdd3a2f: Delete: storage/ndb/src/old_files/client/odbc/common/DataType.cpp BitKeeper/deleted/.del-DataType.hpp~adef26bc1dc940eb: Delete: storage/ndb/src/old_files/client/odbc/common/DataType.hpp BitKeeper/deleted/.del-DescArea.cpp~aab4edd7e336acdd: Delete: storage/ndb/src/old_files/client/odbc/common/DescArea.cpp BitKeeper/deleted/.del-DescArea.hpp~20ba9b6484762f0f: Delete: storage/ndb/src/old_files/client/odbc/common/DescArea.hpp BitKeeper/deleted/.del-DiagArea.cpp~e3662d8977947e67: Delete: storage/ndb/src/old_files/client/odbc/common/DiagArea.cpp BitKeeper/deleted/.del-DiagArea.hpp~1c6595b5fac06eb2: Delete: storage/ndb/src/old_files/client/odbc/common/DiagArea.hpp BitKeeper/deleted/.del-Makefile~8505f6b38fe5c219: Delete: storage/ndb/src/old_files/client/odbc/common/Makefile BitKeeper/deleted/.del-OdbcData.cpp~e557009c1ed1e017: Delete: storage/ndb/src/old_files/client/odbc/common/OdbcData.cpp BitKeeper/deleted/.del-OdbcData.hpp~2125814c1293c0b3: Delete: storage/ndb/src/old_files/client/odbc/common/OdbcData.hpp BitKeeper/deleted/.del-ResultArea.cpp~8bcc2a2d9a98b9b0: Delete: storage/ndb/src/old_files/client/odbc/common/ResultArea.cpp BitKeeper/deleted/.del-ResultArea.hpp~8d4646b94be475d1: Delete: storage/ndb/src/old_files/client/odbc/common/ResultArea.hpp BitKeeper/deleted/.del-Sqlstate.cpp~b844144af963c22c: Delete: storage/ndb/src/old_files/client/odbc/common/Sqlstate.cpp BitKeeper/deleted/.del-Sqlstate.hpp~60006ee1c27c6e5: Delete: storage/ndb/src/old_files/client/odbc/common/Sqlstate.hpp BitKeeper/deleted/.del-StmtArea.cpp~5c5f8613156e06b2: Delete: storage/ndb/src/old_files/client/odbc/common/StmtArea.cpp BitKeeper/deleted/.del-StmtArea.hpp~9662e56ae164eb7f: Delete: storage/ndb/src/old_files/client/odbc/common/StmtArea.hpp BitKeeper/deleted/.del-StmtInfo.cpp~54ee4040e5807214: Delete: storage/ndb/src/old_files/client/odbc/common/StmtInfo.cpp BitKeeper/deleted/.del-DictCatalog.cpp~9804b0ff3eac2f8: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictCatalog.cpp BitKeeper/deleted/.del-DictCatalog.hpp~cace2fb2f6bb65e5: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictCatalog.hpp BitKeeper/deleted/.del-StmtInfo.hpp~6698d657391692fc: Delete: storage/ndb/src/old_files/client/odbc/common/StmtInfo.hpp BitKeeper/deleted/.del-common.cpp~4792b9ecddd99482: Delete: storage/ndb/src/old_files/client/odbc/common/common.cpp BitKeeper/deleted/.del-common.hpp~25369fa6c80eff53: Delete: storage/ndb/src/old_files/client/odbc/common/common.hpp BitKeeper/deleted/.del-DictColumn.cpp~b69d90c53e5b618: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictColumn.cpp BitKeeper/deleted/.del-DictColumn.hpp~c2da1b7bd0408bd1: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictColumn.hpp BitKeeper/deleted/.del-DictIndex.cpp~a456d3039e6a39e3: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictIndex.cpp BitKeeper/deleted/.del-DictIndex.hpp~f53b91a41bb96663: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictIndex.hpp BitKeeper/deleted/.del-DictSchema.cpp~639403c84a47dfdd: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictSchema.cpp BitKeeper/deleted/.del-DictSchema.hpp~5aa7dc8ade17e94c: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictSchema.hpp BitKeeper/deleted/.del-DictSys.cpp~fb89465b10c32bb0: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictSys.cpp BitKeeper/deleted/.del-DictSys.hpp~76583ba8aa88fd6f: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictSys.hpp BitKeeper/deleted/.del-DictTable.cpp~8f4a9ee5a8038f87: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictTable.cpp BitKeeper/deleted/.del-DictTable.hpp~cf99a9ac3dd49206: Delete: storage/ndb/src/old_files/client/odbc/dictionary/DictTable.hpp BitKeeper/deleted/.del-Makefile~4c1a6148787bdc2f: Delete: storage/ndb/src/old_files/client/odbc/dictionary/Makefile BitKeeper/deleted/.del-class.fig~c0754ccad74d380a: Delete: storage/ndb/src/old_files/client/odbc/docs/class.fig BitKeeper/deleted/.del-descfield.pl~e0bd59c2824824cc: Delete: storage/ndb/src/old_files/client/odbc/docs/descfield.pl BitKeeper/deleted/.del-diag.txt~b66a7e227391335f: Delete: storage/ndb/src/old_files/client/odbc/docs/diag.txt BitKeeper/deleted/.del-getinfo.pl~2142ecf1567a66f6: Delete: storage/ndb/src/old_files/client/odbc/docs/getinfo.pl BitKeeper/deleted/.del-gettypeinfo.pl~2ea4c0589eac4e73: Delete: storage/ndb/src/old_files/client/odbc/docs/gettypeinfo.pl BitKeeper/deleted/.del-handleattr.pl~b0c2a2901b68342e: Delete: storage/ndb/src/old_files/client/odbc/docs/handleattr.pl BitKeeper/deleted/.del-main.hpp~7b15eb7ffad488a0: Delete: storage/ndb/src/old_files/client/odbc/docs/main.hpp BitKeeper/deleted/.del-ndbodbc.html~a2f14fdd978b62cc: Delete: storage/ndb/src/old_files/client/odbc/docs/ndbodbc.html BitKeeper/deleted/.del-select.fig~34f5222b5012e1d7: Delete: storage/ndb/src/old_files/client/odbc/docs/select.fig BitKeeper/deleted/.del-Func.data~9e75f15d921063f3: Delete: storage/ndb/src/old_files/client/odbc/driver/Func.data BitKeeper/deleted/.del-Func.pl~aefb901bc3941d32: Delete: storage/ndb/src/old_files/client/odbc/driver/Func.pl BitKeeper/deleted/.del-systables.pl~1fa2191648bdb629: Delete: storage/ndb/src/old_files/client/odbc/docs/systables.pl BitKeeper/deleted/.del-type.txt~feec700c81f5095f: Delete: storage/ndb/src/old_files/client/odbc/docs/type.txt BitKeeper/deleted/.del-Makefile~80d21270fc3ad931: Delete: storage/ndb/src/old_files/client/odbc/driver/Makefile BitKeeper/deleted/.del-SQLAllocConnect.cpp~246af836b028d810: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLAllocConnect.cpp BitKeeper/deleted/.del-SQLAllocEnv.cpp~eaf36cf2285ec2ac: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLAllocEnv.cpp BitKeeper/deleted/.del-SQLAllocHandle.cpp~c0921921e84d1a10: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLAllocHandle.cpp BitKeeper/deleted/.del-SQLAllocHandleStd.cpp~7d145f6e3640d913: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLAllocHandleStd.cpp BitKeeper/deleted/.del-SQLAllocStmt.cpp~362331ef456ec879: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLAllocStmt.cpp BitKeeper/deleted/.del-SQLBindCol.cpp~fec3a78088d4951d: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLBindCol.cpp BitKeeper/deleted/.del-SQLBindParam.cpp~a50b619a23efaab: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLBindParam.cpp BitKeeper/deleted/.del-SQLBindParameter.cpp~533b1992496e2775: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLBindParameter.cpp BitKeeper/deleted/.del-SQLBrowseConnect.cpp~120b61a1ff6edee3: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLBrowseConnect.cpp BitKeeper/deleted/.del-SQLBulkOperations.cpp~7a96be04250a388: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLBulkOperations.cpp BitKeeper/deleted/.del-SQLCancel.cpp~27eab683f6fa6ec6: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLCancel.cpp BitKeeper/deleted/.del-SQLCloseCursor.cpp~6cbf193aadaf1058: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLCloseCursor.cpp BitKeeper/deleted/.del-SQLColAttribute.cpp~f2c858b16a9360d: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLColAttribute.cpp BitKeeper/deleted/.del-SQLColAttributes.cpp~d4007908ee1309d: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLColAttributes.cpp BitKeeper/deleted/.del-SQLColumnPrivileges.cpp~39a3020da4c3485b: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLColumnPrivileges.cpp BitKeeper/deleted/.del-SQLColumns.cpp~1c31107df60bb544: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLColumns.cpp BitKeeper/deleted/.del-SQLConnect.cpp~868e02a519b72743: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLConnect.cpp BitKeeper/deleted/.del-SQLCopyDesc.cpp~286522b25a029761: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLCopyDesc.cpp BitKeeper/deleted/.del-SQLDataSources.cpp~12792108aac5b2ca: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLDataSources.cpp BitKeeper/deleted/.del-SQLDescribeCol.cpp~1d1faafbcd3ecb3c: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLDescribeCol.cpp BitKeeper/deleted/.del-SQLDescribeParam.cpp~70b016fa795ed275: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLDescribeParam.cpp BitKeeper/deleted/.del-SQLDisconnect.cpp~9fb4c3d7a84db50a: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLDisconnect.cpp BitKeeper/deleted/.del-SQLDriverConnect.cpp~8dad42af7d17a9d9: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLDriverConnect.cpp BitKeeper/deleted/.del-SQLDrivers.cpp~400e7453e70f6e99: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLDrivers.cpp BitKeeper/deleted/.del-SQLEndTran.cpp~c37cce04cc303c01: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLEndTran.cpp BitKeeper/deleted/.del-SQLError.cpp~593b81885c15187b: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLError.cpp BitKeeper/deleted/.del-SQLExecDirect.cpp~5e6274e76315339d: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLExecDirect.cpp BitKeeper/deleted/.del-SQLExecute.cpp~1692a85f8639f71: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLExecute.cpp BitKeeper/deleted/.del-SQLExtendedFetch.cpp~8b9d604580a83cfd: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLExtendedFetch.cpp BitKeeper/deleted/.del-SQLFetch.cpp~fa1606aa2dd901db: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLFetch.cpp BitKeeper/deleted/.del-SQLFetchScroll.cpp~cdb16803511963a1: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLFetchScroll.cpp BitKeeper/deleted/.del-SQLForeignKeys.cpp~4b8a9af2f6bf92cb: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLForeignKeys.cpp BitKeeper/deleted/.del-SQLFreeConnect.cpp~92359420501ebc5b: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLFreeConnect.cpp BitKeeper/deleted/.del-SQLFreeEnv.cpp~64f1776817464807: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLFreeEnv.cpp BitKeeper/deleted/.del-SQLFreeHandle.cpp~2dc029edf912c2d: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLFreeHandle.cpp BitKeeper/deleted/.del-SQLFreeStmt.cpp~8f8cb0a43c02a67: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLFreeStmt.cpp BitKeeper/deleted/.del-SQLGetConnectAttr.cpp~b29ff18aeedd8966: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetConnectAttr.cpp BitKeeper/deleted/.del-SQLGetConnectOption.cpp~3e0bc4e1af95c682: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetConnectOption.cpp BitKeeper/deleted/.del-SQLGetCursorName.cpp~8266b920671b6d01: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetCursorName.cpp BitKeeper/deleted/.del-SQLGetData.cpp~3d837348460c219d: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetData.cpp BitKeeper/deleted/.del-SQLGetDescField.cpp~62828192a7d1d954: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetDescField.cpp BitKeeper/deleted/.del-SQLGetDescRec.cpp~f54cc69bcd1238ad: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetDescRec.cpp BitKeeper/deleted/.del-SQLGetDiagField.cpp~673e1ea0f9d5121f: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetDiagField.cpp BitKeeper/deleted/.del-SQLGetDiagRec.cpp~bea0f68f5b940ab8: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetDiagRec.cpp BitKeeper/deleted/.del-SQLGetEnvAttr.cpp~e742277d8bdf234d: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetEnvAttr.cpp BitKeeper/deleted/.del-SQLGetFunctions.cpp~72de050fbfb4a9bb: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetFunctions.cpp BitKeeper/deleted/.del-SQLGetInfo.cpp~e4e09d6bedbf02b1: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetInfo.cpp BitKeeper/deleted/.del-SQLGetStmtAttr.cpp~de7dabc8c2acea7: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetStmtAttr.cpp BitKeeper/deleted/.del-SQLGetStmtOption.cpp~2ff900ebdd167077: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetStmtOption.cpp BitKeeper/deleted/.del-SQLGetTypeInfo.cpp~333196b07473dff6: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLGetTypeInfo.cpp BitKeeper/deleted/.del-SQLMoreResults.cpp~483d94cb57379e81: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLMoreResults.cpp BitKeeper/deleted/.del-SQLNativeSql.cpp~eeae6067f4a85c: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLNativeSql.cpp BitKeeper/deleted/.del-SQLNumParams.cpp~8921304c3bcf4835: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLNumParams.cpp BitKeeper/deleted/.del-SQLNumResultCols.cpp~4d2b6527ffe81059: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLNumResultCols.cpp BitKeeper/deleted/.del-SQLParamData.cpp~163b046513f1e4ae: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLParamData.cpp BitKeeper/deleted/.del-SQLParamOptions.cpp~bdcbccb961fff044: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLParamOptions.cpp BitKeeper/deleted/.del-SQLPrepare.cpp~1d339fe24888087: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLPrepare.cpp BitKeeper/deleted/.del-SQLPrimaryKeys.cpp~5d7b2a0ae08a267: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLPrimaryKeys.cpp BitKeeper/deleted/.del-SQLProcedureColumns.cpp~c7a0535e9f50ff39: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLProcedureColumns.cpp BitKeeper/deleted/.del-SQLProcedures.cpp~c59d025b22e2d1a6: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLProcedures.cpp BitKeeper/deleted/.del-SQLPutData.cpp~9dbf69ea9d369dbd: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLPutData.cpp BitKeeper/deleted/.del-SQLRowCount.cpp~d4ac5b273afdb154: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLRowCount.cpp BitKeeper/deleted/.del-SQLSetConnectAttr.cpp~c2c520c34c41bd88: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetConnectAttr.cpp BitKeeper/deleted/.del-SQLSetConnectOption.cpp~dadc980d9f9cad1b: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetConnectOption.cpp BitKeeper/deleted/.del-SQLSetCursorName.cpp~ccfc33dd2cf6abeb: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetCursorName.cpp BitKeeper/deleted/.del-SQLSetDescField.cpp~c4db694d1b9e8f77: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetDescField.cpp BitKeeper/deleted/.del-SQLSetDescRec.cpp~f8dd72467d5012ab: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetDescRec.cpp BitKeeper/deleted/.del-SQLSetEnvAttr.cpp~7b50aeae6228c2db: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetEnvAttr.cpp BitKeeper/deleted/.del-SQLSetParam.cpp~e0dd2d5e8d3ec450: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetParam.cpp BitKeeper/deleted/.del-SQLSetPos.cpp~39a3e69960041aa7: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetPos.cpp BitKeeper/deleted/.del-SQLSetScrollOptions.cpp~6f8250379bb0cac8: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetScrollOptions.cpp BitKeeper/deleted/.del-SQLSetStmtAttr.cpp~e99b7e6025a1ae1f: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetStmtAttr.cpp BitKeeper/deleted/.del-SQLSetStmtOption.cpp~87af3125a48c27fa: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSetStmtOption.cpp BitKeeper/deleted/.del-SQLSpecialColumns.cpp~1877b4c368825de5: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLSpecialColumns.cpp BitKeeper/deleted/.del-SQLStatistics.cpp~87e0359f237aa66a: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLStatistics.cpp BitKeeper/deleted/.del-SQLTablePrivileges.cpp~fa16ea0fffa4edeb: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLTablePrivileges.cpp BitKeeper/deleted/.del-SQLTables.cpp~c8b201068baec393: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLTables.cpp BitKeeper/deleted/.del-SQLTransact.cpp~eb33c2f66ee85738: Delete: storage/ndb/src/old_files/client/odbc/driver/SQLTransact.cpp BitKeeper/deleted/.del-Exec_comp_op.cpp~eacbd7512b32d68b: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_comp_op.cpp BitKeeper/deleted/.del-Exec_create_index.cpp~c6b8e670198adfa9: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_create_index.cpp BitKeeper/deleted/.del-driver.cpp~f8f1eeec35b08f18: Delete: storage/ndb/src/old_files/client/odbc/driver/driver.cpp BitKeeper/deleted/.del-driver.hpp~f108f4eef34ec8ea: Delete: storage/ndb/src/old_files/client/odbc/driver/driver.hpp BitKeeper/deleted/.del-Exec_create_table.cpp~76904d417bc0a59a: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_create_table.cpp BitKeeper/deleted/.del-Exec_delete_index.cpp~1ffe5af6eb160a68: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_delete_index.cpp BitKeeper/deleted/.del-Exec_delete_lookup.cpp~5d24028ce16b6623: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_delete_lookup.cpp BitKeeper/deleted/.del-Exec_delete_scan.cpp~810aa4058f73c941: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_delete_scan.cpp BitKeeper/deleted/.del-Exec_drop_index.cpp~3a3871ec6ee48c28: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_drop_index.cpp BitKeeper/deleted/.del-Exec_drop_table.cpp~639a2faba4da14f4: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_drop_table.cpp BitKeeper/deleted/.del-Exec_expr_conv.cpp~b5452bd4fbd7c945: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_expr_conv.cpp BitKeeper/deleted/.del-Exec_expr_func.cpp~c78ab0e67d54f38c: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_expr_func.cpp BitKeeper/deleted/.del-Exec_expr_op.cpp~5e341b2e63495ba4: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_expr_op.cpp BitKeeper/deleted/.del-Exec_insert.cpp~71dd4bf2fb913f2e: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_insert.cpp BitKeeper/deleted/.del-Exec_pred_op.cpp~ebe7b65ba81e5185: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_pred_op.cpp BitKeeper/deleted/.del-Exec_query_index.cpp~4cada676fa178001: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_query_index.cpp BitKeeper/deleted/.del-Exec_query_lookup.cpp~79dfe29b088d832: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_query_lookup.cpp BitKeeper/deleted/.del-Exec_query_range.cpp~7c4e148e81a292d6: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_query_range.cpp BitKeeper/deleted/.del-Exec_query_scan.cpp~7c66194f7f93346f: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_query_scan.cpp BitKeeper/deleted/.del-Exec_query_sys.cpp~d66abe07cd519163: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_query_sys.cpp BitKeeper/deleted/.del-Exec_update_index.cpp~86140a945f790890: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_update_index.cpp BitKeeper/deleted/.del-Exec_update_lookup.cpp~b7a7387620cf42ab: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_update_lookup.cpp BitKeeper/deleted/.del-Exec_update_scan.cpp~2285c72106cffe0: Delete: storage/ndb/src/old_files/client/odbc/executor/Exec_update_scan.cpp BitKeeper/deleted/.del-Executor.cpp~ccb54cc8ffe18bae: Delete: storage/ndb/src/old_files/client/odbc/executor/Executor.cpp BitKeeper/deleted/.del-Executor.hpp~c94d916ae5af2506: Delete: storage/ndb/src/old_files/client/odbc/executor/Executor.hpp BitKeeper/deleted/.del-AttrDbc.cpp~24a034fbb22cdb23: Delete: storage/ndb/src/old_files/client/odbc/handles/AttrDbc.cpp BitKeeper/deleted/.del-AttrEnv.cpp~7d74bcba78e149d0: Delete: storage/ndb/src/old_files/client/odbc/handles/AttrEnv.cpp BitKeeper/deleted/.del-AttrRoot.cpp~5def5d7e228eedf0: Delete: storage/ndb/src/old_files/client/odbc/handles/AttrRoot.cpp BitKeeper/deleted/.del-Makefile~a08f437558c2d3b4: Delete: storage/ndb/src/old_files/client/odbc/executor/Makefile BitKeeper/deleted/.del-AttrStmt.cpp~5363ba63b35ff8f4: Delete: storage/ndb/src/old_files/client/odbc/handles/AttrStmt.cpp BitKeeper/deleted/.del-DescSpec.cpp~cd50c1c855f1905: Delete: storage/ndb/src/old_files/client/odbc/handles/DescSpec.cpp BitKeeper/deleted/.del-FuncTab.cpp~e77abea11a532708: Delete: storage/ndb/src/old_files/client/odbc/handles/FuncTab.cpp BitKeeper/deleted/.del-HandleBase.cpp~2ba63dce2dfec07b: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleBase.cpp BitKeeper/deleted/.del-HandleBase.hpp~8cf9a1e94d272328: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleBase.hpp BitKeeper/deleted/.del-HandleDbc.cpp~2a79fea6477b2c63: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleDbc.cpp BitKeeper/deleted/.del-HandleDbc.hpp~9abc692ac6b0abb3: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleDbc.hpp BitKeeper/deleted/.del-HandleDesc.cpp~e77eb1d73d171a98: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleDesc.cpp BitKeeper/deleted/.del-HandleDesc.hpp~553aeb842b3da88e: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleDesc.hpp BitKeeper/deleted/.del-HandleEnv.cpp~6b96fc6b188f252b: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleEnv.cpp BitKeeper/deleted/.del-HandleEnv.hpp~572a7b4af6816f8b: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleEnv.hpp BitKeeper/deleted/.del-HandleRoot.cpp~aa5044f74554fa9c: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleRoot.cpp BitKeeper/deleted/.del-HandleRoot.hpp~2fcfca742c13cfb3: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleRoot.hpp BitKeeper/deleted/.del-HandleStmt.cpp~782f96bda9eaf13c: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleStmt.cpp BitKeeper/deleted/.del-HandleStmt.hpp~6508fc97f3c772e1: Delete: storage/ndb/src/old_files/client/odbc/handles/HandleStmt.hpp BitKeeper/deleted/.del-InfoTab.cpp~f89104b9c6fe7489: Delete: storage/ndb/src/old_files/client/odbc/handles/InfoTab.cpp BitKeeper/deleted/.del-Makefile~3d8d1529ad26ce76: Delete: storage/ndb/src/old_files/client/odbc/handles/Makefile BitKeeper/deleted/.del-PoolNdb.cpp~793fa032699b7d98: Delete: storage/ndb/src/old_files/client/odbc/handles/PoolNdb.cpp BitKeeper/deleted/.del-PoolNdb.hpp~db9e1a04d2fe705d: Delete: storage/ndb/src/old_files/client/odbc/handles/PoolNdb.hpp BitKeeper/deleted/.del-handles.hpp~bfe0b6a7a95ac142: Delete: storage/ndb/src/old_files/client/odbc/handles/handles.hpp BitKeeper/deleted/.del-Makefile~4b92d5e5b416dd0: Delete: storage/ndb/src/old_files/ndbbaseclient/Makefile BitKeeper/deleted/.del-Makefile~f993f3afae0d4308: Delete: storage/ndb/src/old_files/ndbclient/Makefile BitKeeper/deleted/.del-ndbbaseclient_dummy.cpp~daee9eb6acbc94: Delete: storage/ndb/src/old_files/ndbbaseclient/ndbbaseclient_dummy.cpp BitKeeper/deleted/.del-ndbclient_dummy.cpp~73154070f5d0bfbf: Delete: storage/ndb/src/old_files/ndbclient/ndbclient_dummy.cpp BitKeeper/deleted/.del-Makefile~bcbd9a7282094cc: Delete: storage/ndb/src/old_files/newtonapi/Makefile BitKeeper/deleted/.del-dba_binding.cpp~dcc4fb57f9ab6cba: Delete: storage/ndb/src/old_files/newtonapi/dba_binding.cpp BitKeeper/deleted/.del-dba_bulkread.cpp~4ddfe02a93d2ba11: Delete: storage/ndb/src/old_files/newtonapi/dba_bulkread.cpp BitKeeper/deleted/.del-dba_config.cpp~38acf2ad3a932420: Delete: storage/ndb/src/old_files/newtonapi/dba_config.cpp BitKeeper/deleted/.del-dba_dac.cpp~4615e3d0d8a15bff: Delete: storage/ndb/src/old_files/newtonapi/dba_dac.cpp BitKeeper/deleted/.del-dba_error.cpp~a58b4a1628a2d4b9: Delete: storage/ndb/src/old_files/newtonapi/dba_error.cpp BitKeeper/deleted/.del-dba_init.cpp~80da7e3fa0775346: Delete: storage/ndb/src/old_files/newtonapi/dba_init.cpp BitKeeper/deleted/.del-dba_internal.hpp~54884404e30c8823: Delete: storage/ndb/src/old_files/newtonapi/dba_internal.hpp BitKeeper/deleted/.del-dba_process.cpp~509e54294bc7efd2: Delete: storage/ndb/src/old_files/newtonapi/dba_process.cpp BitKeeper/deleted/.del-ExtSender.cpp~1851d559cfddae43: Delete: storage/ndb/src/old_files/rep/ExtSender.cpp BitKeeper/deleted/.del-ExtSender.hpp~10ae62ec85ee6692: Delete: storage/ndb/src/old_files/rep/ExtSender.hpp BitKeeper/deleted/.del-dba_process.hpp~f0ddefb3b2d6a662: Delete: storage/ndb/src/old_files/newtonapi/dba_process.hpp BitKeeper/deleted/.del-dba_schema.cpp~1c3b8399853c108: Delete: storage/ndb/src/old_files/newtonapi/dba_schema.cpp BitKeeper/deleted/.del-Makefile~954f853c2d812c2c: Delete: storage/ndb/src/old_files/rep/Makefile BitKeeper/deleted/.del-NodeConnectInfo.hpp~9c4318dd55f3f84: Delete: storage/ndb/src/old_files/rep/NodeConnectInfo.hpp BitKeeper/deleted/.del-README~6939b06d192a6b99: Delete: storage/ndb/src/old_files/rep/README BitKeeper/deleted/.del-RepApiInterpreter.cpp~8ba561cb831ae353: Delete: storage/ndb/src/old_files/rep/RepApiInterpreter.cpp BitKeeper/deleted/.del-RepApiInterpreter.hpp~31be5af2ba72d263: Delete: storage/ndb/src/old_files/rep/RepApiInterpreter.hpp BitKeeper/deleted/.del-RepApiService.cpp~93d4005333167a0f: Delete: storage/ndb/src/old_files/rep/RepApiService.cpp BitKeeper/deleted/.del-RepApiService.hpp~42f5ffb7e3baa54e: Delete: storage/ndb/src/old_files/rep/RepApiService.hpp BitKeeper/deleted/.del-RepCommandInterpreter.cpp~f661a8ff312213f8: Delete: storage/ndb/src/old_files/rep/RepCommandInterpreter.cpp BitKeeper/deleted/.del-RepCommandInterpreter.hpp~fb6f22895e8c8679: Delete: storage/ndb/src/old_files/rep/RepCommandInterpreter.hpp BitKeeper/deleted/.del-RepComponents.cpp~fb067aee8e5a4a1f: Delete: storage/ndb/src/old_files/rep/RepComponents.cpp BitKeeper/deleted/.del-RepComponents.hpp~9e632beac4f8bbf8: Delete: storage/ndb/src/old_files/rep/RepComponents.hpp BitKeeper/deleted/.del-RepMain.cpp~de79cb7b6f3acd18: Delete: storage/ndb/src/old_files/rep/RepMain.cpp BitKeeper/deleted/.del-Requestor.cpp~c653fa987f84ce43: Delete: storage/ndb/src/old_files/rep/Requestor.cpp BitKeeper/deleted/.del-Requestor.hpp~a499054c9a128dbd: Delete: storage/ndb/src/old_files/rep/Requestor.hpp BitKeeper/deleted/.del-RequestorSubscriptions.cpp~f0643f7cc9aa9654: Delete: storage/ndb/src/old_files/rep/RequestorSubscriptions.cpp BitKeeper/deleted/.del-SignalQueue.cpp~6d32d876acc1a598: Delete: storage/ndb/src/old_files/rep/SignalQueue.cpp BitKeeper/deleted/.del-AppNDB.cpp~1db5eafacdeda3b7: Delete: storage/ndb/src/old_files/rep/adapters/AppNDB.cpp BitKeeper/deleted/.del-SignalQueue.hpp~b92204ff36f399d1: Delete: storage/ndb/src/old_files/rep/SignalQueue.hpp BitKeeper/deleted/.del-TODO~187896dd2e5dfd02: Delete: storage/ndb/src/old_files/rep/TODO BitKeeper/deleted/.del-dbug_hack.cpp~f090906a24103f0: Delete: storage/ndb/src/old_files/rep/dbug_hack.cpp BitKeeper/deleted/.del-rep_version.hpp~82a23fe4dbb13cab: Delete: storage/ndb/src/old_files/rep/rep_version.hpp BitKeeper/deleted/.del-AppNDB.hpp~2c3081224b4ff75f: Delete: storage/ndb/src/old_files/rep/adapters/AppNDB.hpp BitKeeper/deleted/.del-ExtAPI.cpp~d98f38669b10ca97: Delete: storage/ndb/src/old_files/rep/adapters/ExtAPI.cpp BitKeeper/deleted/.del-ExtAPI.hpp~32bcb96bcd2d60c: Delete: storage/ndb/src/old_files/rep/adapters/ExtAPI.hpp BitKeeper/deleted/.del-ExtNDB.cpp~38cccb80529c02c6: Delete: storage/ndb/src/old_files/rep/adapters/ExtNDB.cpp BitKeeper/deleted/.del-ExtNDB.hpp~ee245e7e2c707685: Delete: storage/ndb/src/old_files/rep/adapters/ExtNDB.hpp BitKeeper/deleted/.del-Makefile~25c4b35b84d945b4: Delete: storage/ndb/src/old_files/rep/repapi/Makefile BitKeeper/deleted/.del-Makefile~bcb9d87fd69a7911: Delete: storage/ndb/src/old_files/rep/adapters/Makefile BitKeeper/deleted/.del-TableInfoPs.hpp~56b1f8f75fe7cb1c: Delete: storage/ndb/src/old_files/rep/adapters/TableInfoPs.hpp BitKeeper/deleted/.del-Channel.cpp~1d5f62245962b839: Delete: storage/ndb/src/old_files/rep/state/Channel.cpp BitKeeper/deleted/.del-Channel.hpp~71c1d63ef4b2cbfe: Delete: storage/ndb/src/old_files/rep/state/Channel.hpp BitKeeper/deleted/.del-repapi.cpp~82b9b00c67cfdcf7: Delete: storage/ndb/src/old_files/rep/repapi/repapi.cpp BitKeeper/deleted/.del-repapi.h~6f8cf6b53a86a5ae: Delete: storage/ndb/src/old_files/rep/repapi/repapi.h BitKeeper/deleted/.del-Interval.cpp~3d079ca9cc21124d: Delete: storage/ndb/src/old_files/rep/state/Interval.cpp BitKeeper/deleted/.del-Interval.hpp~85aa46fc419bb109: Delete: storage/ndb/src/old_files/rep/state/Interval.hpp BitKeeper/deleted/.del-Makefile~6a9cedaeedcc4650: Delete: storage/ndb/src/old_files/rep/state/Makefile BitKeeper/deleted/.del-RepState.cpp~3d60b0a46e9477c1: Delete: storage/ndb/src/old_files/rep/state/RepState.cpp BitKeeper/deleted/.del-Makefile~e33e587a7947ac36: Delete: storage/ndb/src/old_files/rep/state/testInterval/Makefile BitKeeper/deleted/.del-RepState.hpp~94d7c472c8a7367: Delete: storage/ndb/src/old_files/rep/state/RepState.hpp BitKeeper/deleted/.del-RepStateEvent.cpp~f51d7eb7b7aca0b: Delete: storage/ndb/src/old_files/rep/state/RepStateEvent.cpp BitKeeper/deleted/.del-RepStateRequests.cpp~393882166df6929: Delete: storage/ndb/src/old_files/rep/state/RepStateRequests.cpp BitKeeper/deleted/.del-Makefile~f5a6d9415d7e0977: Delete: storage/ndb/src/old_files/rep/state/testRepState/Makefile BitKeeper/deleted/.del-testInterval.cpp~993f4118f616e80: Delete: storage/ndb/src/old_files/rep/state/testInterval/testInterval.cpp BitKeeper/deleted/.del-testRequestor.cpp~4a943fae5be63c79: Delete: storage/ndb/src/old_files/rep/state/testRepState/testRequestor.cpp BitKeeper/deleted/.del-testRequestor.hpp~583208c83ff5b554: Delete: storage/ndb/src/old_files/rep/state/testRepState/testRequestor.hpp BitKeeper/deleted/.del-GCIBuffer.cpp~6e8c6f38ab63d1d6: Delete: storage/ndb/src/old_files/rep/storage/GCIBuffer.cpp BitKeeper/deleted/.del-GCIBuffer.hpp~703e2016a7ec616f: Delete: storage/ndb/src/old_files/rep/storage/GCIBuffer.hpp BitKeeper/deleted/.del-GCIContainer.cpp~9c53acd16fc5ac74: Delete: storage/ndb/src/old_files/rep/storage/GCIContainer.cpp BitKeeper/deleted/.del-GCIContainer.hpp~ac28cea9114659fd: Delete: storage/ndb/src/old_files/rep/storage/GCIContainer.hpp BitKeeper/deleted/.del-GCIContainerPS.cpp~116168903a2c617a: Delete: storage/ndb/src/old_files/rep/storage/GCIContainerPS.cpp BitKeeper/deleted/.del-GCIContainerPS.hpp~9a801ffe939e192e: Delete: storage/ndb/src/old_files/rep/storage/GCIContainerPS.hpp BitKeeper/deleted/.del-GCIPage.cpp~42fa918fbf36828a: Delete: storage/ndb/src/old_files/rep/storage/GCIPage.cpp BitKeeper/deleted/.del-GCIPage.hpp~4197e2278326515e: Delete: storage/ndb/src/old_files/rep/storage/GCIPage.hpp BitKeeper/deleted/.del-LogRecord.hpp~11644fe7c5f5d36: Delete: storage/ndb/src/old_files/rep/storage/LogRecord.hpp BitKeeper/deleted/.del-Makefile~a955d34726662aba: Delete: storage/ndb/src/old_files/rep/storage/Makefile BitKeeper/deleted/.del-NodeConnectInfo.hpp~35a7682fd9dba464: Delete: storage/ndb/src/old_files/rep/storage/NodeConnectInfo.hpp BitKeeper/deleted/.del-NodeGroup.cpp~adebbefb11cd1670: Delete: storage/ndb/src/old_files/rep/storage/NodeGroup.cpp BitKeeper/deleted/.del-NodeGroup.hpp~3fcddc2da5d10e45: Delete: storage/ndb/src/old_files/rep/storage/NodeGroup.hpp BitKeeper/deleted/.del-Makefile~6b43df78ea480db1: Delete: storage/ndb/src/old_files/rep/transfer/Makefile BitKeeper/deleted/.del-NodeGroupInfo.cpp~b1130e3c42777658: Delete: storage/ndb/src/old_files/rep/storage/NodeGroupInfo.cpp BitKeeper/deleted/.del-NodeGroupInfo.hpp~7fd3b74f4b59a503: Delete: storage/ndb/src/old_files/rep/storage/NodeGroupInfo.hpp BitKeeper/deleted/.del-TransPS.cpp~7a88ca746987ac10: Delete: storage/ndb/src/old_files/rep/transfer/TransPS.cpp BitKeeper/deleted/.del-TransPS.hpp~846b26eaa80632a1: Delete: storage/ndb/src/old_files/rep/transfer/TransPS.hpp BitKeeper/deleted/.del-TransSS.cpp~8f12a062b240eecf: Delete: storage/ndb/src/old_files/rep/transfer/TransSS.cpp BitKeeper/deleted/.del-TransSS.hpp~7718b5e4ce9a4007: Delete: storage/ndb/src/old_files/rep/transfer/TransSS.hpp BitKeeper/deleted/.del-TransSSSubscriptions.cpp~6bc55e474f33e023: Delete: storage/ndb/src/old_files/rep/transfer/TransSSSubscriptions.cpp BitKeeper/deleted/.del-Makefile~4cef97177c0cd8d1: Delete: storage/ndb/test/ndbapi/old_dirs/acid2/Makefile BitKeeper/deleted/.del-Makefile~5823323f9308952b: Delete: storage/ndb/test/ndbapi/old_dirs/acid/Makefile BitKeeper/deleted/.del-Makefile~53e91df162e177a4: Delete: storage/ndb/test/ndbapi/old_dirs/bulk_copy/Makefile BitKeeper/deleted/.del-Makefile~d86129c4e794eaaf: Delete: storage/ndb/test/ndbapi/old_dirs/basicAsynch/Makefile BitKeeper/deleted/.del-TraceNdbApi.hpp~7a7f0ae5b70358bc: Delete: storage/ndb/test/ndbapi/old_dirs/acid2/TraceNdbApi.hpp BitKeeper/deleted/.del-VerifyNdbApi.hpp~f417f78f7cd05935: Delete: storage/ndb/test/ndbapi/old_dirs/acid2/VerifyNdbApi.hpp BitKeeper/deleted/.del-Makefile~15b0005e7dc1fbf8: Delete: storage/ndb/test/ndbapi/old_dirs/flexAsynch/Makefile BitKeeper/deleted/.del-Makefile~1bcf05f0a26d7d6f: Delete: storage/ndb/test/ndbapi/old_dirs/create_tab/Makefile BitKeeper/deleted/.del-Makefile~8ede26305d647424: Delete: storage/ndb/test/ndbapi/old_dirs/create_all_tabs/Makefile BitKeeper/deleted/.del-Makefile~e4f93944b8c44f09: Delete: storage/ndb/test/ndbapi/old_dirs/drop_all_tabs/Makefile BitKeeper/deleted/.del-Makefile.am~ae6c03d81bf83c09: Delete: storage/ndb/test/ndbapi/old_dirs/flexBench/Makefile.am BitKeeper/deleted/.del-Makefile~99efd87dd2a67e6: Delete: storage/ndb/test/ndbapi/old_dirs/flexHammer/Makefile BitKeeper/deleted/.del-README~d85a7f1125dc7a50: Delete: storage/ndb/test/ndbapi/old_dirs/flexHammer/README BitKeeper/deleted/.del-ndbplot.pl~ef4de5b461b880c1: Delete: storage/ndb/test/ndbapi/old_dirs/flexBench/ndbplot.pl BitKeeper/deleted/.del-Makefile~c05a674b968916ec: Delete: storage/ndb/test/ndbapi/old_dirs/flexTT/Makefile BitKeeper/deleted/.del-Makefile~d36727b854d37c9: Delete: storage/ndb/test/ndbapi/old_dirs/flexScan/Makefile BitKeeper/deleted/.del-README~a6f5f72344539aae: Delete: storage/ndb/test/ndbapi/old_dirs/flexScan/README BitKeeper/deleted/.del-Makefile~d254d59f274b1d3: Delete: storage/ndb/test/ndbapi/old_dirs/flex_bench_mysql/Makefile BitKeeper/deleted/.del-Makefile~d280c4556dcab9cd: Delete: storage/ndb/test/ndbapi/old_dirs/flexTimedAsynch/Makefile BitKeeper/deleted/.del-Makefile~7cd666ff39dc1c5d: Delete: storage/ndb/test/ndbapi/old_dirs/indexTest2/Makefile BitKeeper/deleted/.del-Makefile~837866d85a01b2c: Delete: storage/ndb/test/ndbapi/old_dirs/indexTest/Makefile BitKeeper/deleted/.del-Makefile~b384a346d7cc0f3c: Delete: storage/ndb/test/ndbapi/old_dirs/interpreterInTup/Makefile BitKeeper/deleted/.del-Makefile~b77f2b2aa6db29a7: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/Makefile BitKeeper/deleted/.del-Makefile~607887f555e1a07f: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/Makefile BitKeeper/deleted/.del-Makefile~fe3f7192bcd1e342: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/generator/Makefile BitKeeper/deleted/.del-dbGenerator.h~63f1aeb98260bcb7: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/dbGenerator.h BitKeeper/deleted/.del-testData.h~898b71d7c639319e: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/testData.h BitKeeper/deleted/.del-Makefile~16dd9625cf816bed: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/Makefile BitKeeper/deleted/.del-macros.h~742871fab0681964: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/macros.h BitKeeper/deleted/.del-ndb_error.hpp~45a2fef922beae3: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/user/ndb_error.hpp BitKeeper/deleted/.del-userInterface.h~49139f029bbdaabc: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/async-src/include/userInterface.h BitKeeper/deleted/.del-.empty~9401b7f68791202e: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/lib/.empty BitKeeper/deleted/.del-.empty~f804b62cd167f0b3: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/bin/.empty BitKeeper/deleted/.del-ndb_schema.hpp~de9c21185d6bfe4e: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/include/ndb_schema.hpp BitKeeper/deleted/.del-testDefinitions.h~f18a4553579a3725: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/include/testDefinitions.h BitKeeper/deleted/.del-Makefile~28e0b82e1322e47: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/script/Makefile BitKeeper/deleted/.del-async-lmc-bench-l-p10.sh~8f06283d361eec9e: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench-l-p10.sh BitKeeper/deleted/.del-async-lmc-bench-l.sh~9b204c8488dfdb86: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench-l.sh BitKeeper/deleted/.del-async-lmc-bench-p10.sh~45cfc4a130b43f6a: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench-p10.sh BitKeeper/deleted/.del-Makefile~a3e9f0384cf8455d: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/Makefile BitKeeper/deleted/.del-README~3c1d85ad9efb4a23: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/README BitKeeper/deleted/.del-async-lmc-bench.sh~40ca1b63e69d2bdd: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/script/async-lmc-bench.sh BitKeeper/deleted/.del-makevars.linux~9a7c7e0df35184fa: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/makevars.linux BitKeeper/deleted/.del-Makefile~e5ecf4cfa15f5316: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/Makefile BitKeeper/deleted/.del-dbGenerator.c~7509c19f70cad0bf: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.c BitKeeper/deleted/.del-dbGenerator.h~e1aaa6725999d458: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/dbGenerator.h BitKeeper/deleted/.del-mainGenerator.c~2d1c8016f72b2517: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/generator/mainGenerator.c BitKeeper/deleted/.del-makevars.sparc~42a7f929ba44ea5: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/makevars.sparc BitKeeper/deleted/.del-Makefile~c3c3d76f731f62: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/Makefile BitKeeper/deleted/.del-testData.h~696038ea2623a90b: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/testData.h BitKeeper/deleted/.del-userInterface.h~1f76ad2f28b283fd: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/include/userInterface.h BitKeeper/deleted/.del-Makefile~548d94b487507bbf: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/Makefile BitKeeper/deleted/.del-dbPopulate.c~5dcff1c99783d83b: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.c BitKeeper/deleted/.del-dbPopulate.h~229a894b59d4da73: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/dbPopulate.h BitKeeper/deleted/.del-mainPopulate.c~37def9a44980b8ec: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/populator/mainPopulate.c BitKeeper/deleted/.del-localDbPrepare.c~33a2c46afc8fac9a: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/localDbPrepare.c BitKeeper/deleted/.del-macros.h~58097d584e29b5df: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/macros.h BitKeeper/deleted/.del-ndb_error.hpp~24468bb7f20a0b41: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/ndb_error.hpp BitKeeper/deleted/.del-userHandle.h~ec22dc7a7ed2f81b: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userHandle.h BitKeeper/deleted/.del-Makefile~b6d0cd4d8c9d339b: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/Makefile BitKeeper/deleted/.del-userHandle.h~3275bb415e1ca2c2: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userHandle.h BitKeeper/deleted/.del-userInterface.cpp~82ee612ab14b3d48: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userInterface.cpp BitKeeper/deleted/.del-userTransaction.c~438012ecc761b776: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/userTransaction.c BitKeeper/deleted/.del-Makefile~6a739ef75a821406: Delete: storage/ndb/test/ndbapi/old_dirs/restarter2/Makefile BitKeeper/deleted/.del-Makefile~c4a8d15a64d73ee8: Delete: storage/ndb/test/ndbapi/old_dirs/restarter/Makefile BitKeeper/deleted/.del-userInterface.c~92a20032f7d1e91: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userInterface.c BitKeeper/deleted/.del-userTransaction.c~f50661b4f54b0bdd: Delete: storage/ndb/test/ndbapi/old_dirs/lmc-bench/src/user/old/userTransaction.c BitKeeper/deleted/.del-Makefile~23f3806c8505ea8f: Delete: storage/ndb/test/ndbapi/old_dirs/ronja/initronja/Makefile BitKeeper/deleted/.del-Makefile~2fdd0e2bfef9eab7: Delete: storage/ndb/test/ndbapi/old_dirs/ronja/benchronja/Makefile BitKeeper/deleted/.del-Makefile~d19ef6b3a02430e7: Delete: storage/ndb/test/ndbapi/old_dirs/restarts/Makefile BitKeeper/deleted/.del-Makefile~edc1824919a8e593: Delete: storage/ndb/test/ndbapi/old_dirs/ronja/Makefile BitKeeper/deleted/.del-Makefile~7246dc45283fec4f: Delete: storage/ndb/test/ndbapi/old_dirs/testBasic/Makefile BitKeeper/deleted/.del-Makefile~8f8a72ead5c0dcbe: Delete: storage/ndb/test/ndbapi/old_dirs/testBackup/Makefile BitKeeper/deleted/.del-Makefile~a8998c89d7ad17d0: Delete: storage/ndb/test/ndbapi/old_dirs/telco/Makefile BitKeeper/deleted/.del-readme~2bb11c8fe8e713de: Delete: storage/ndb/test/ndbapi/old_dirs/telco/readme BitKeeper/deleted/.del-Makefile~11a681d847711b20: Delete: storage/ndb/test/ndbapi/old_dirs/testDataBuffers/Makefile BitKeeper/deleted/.del-Makefile~7b08d94bc77f36b5: Delete: storage/ndb/test/ndbapi/old_dirs/testDict/Makefile BitKeeper/deleted/.del-Makefile~c72222538e5e4e48: Delete: storage/ndb/test/ndbapi/old_dirs/testBlobs/Makefile BitKeeper/deleted/.del-Makefile~13237b5015038e7b: Delete: storage/ndb/test/ndbapi/old_dirs/testGrep/Makefile BitKeeper/deleted/.del-Makefile~1e91adbf308b09: Delete: storage/ndb/test/ndbapi/old_dirs/testGrep/verify/Makefile BitKeeper/deleted/.del-Makefile~348a4f3067115b99: Delete: storage/ndb/test/ndbapi/old_dirs/testIndex/Makefile BitKeeper/deleted/.del-Makefile~4da89995b201a972: Delete: storage/ndb/test/ndbapi/old_dirs/testInterpreter/Makefile BitKeeper/deleted/.del-Makefile~664fcd5e178e659a: Delete: storage/ndb/test/ndbapi/old_dirs/testNodeRestart/Makefile BitKeeper/deleted/.del-Makefile~79ba0e5994952ae9: Delete: storage/ndb/test/ndbapi/old_dirs/testNdbApi/Makefile BitKeeper/deleted/.del-Makefile~b76c5fcf57c53a58: Delete: storage/ndb/test/ndbapi/old_dirs/testOIBasic/Makefile BitKeeper/deleted/.del-Makefile~b90fa88b1071a3f3: Delete: storage/ndb/test/ndbapi/old_dirs/testMgm/Makefile BitKeeper/deleted/.del-Makefile~3a1d081f812432e3: Delete: storage/ndb/test/ndbapi/old_dirs/testRestartGci/Makefile BitKeeper/deleted/.del-Makefile~3e916b320b0dc88: Delete: storage/ndb/test/ndbapi/old_dirs/testOrderedIndex/Makefile BitKeeper/deleted/.del-Makefile~c9fac39964fe2f77: Delete: storage/ndb/test/ndbapi/old_dirs/testOperations/Makefile BitKeeper/deleted/.del-times.txt~76ffa76ca8708af1: Delete: storage/ndb/test/ndbapi/old_dirs/testOIBasic/times.txt BitKeeper/deleted/.del-Makefile~8ec0ddece8d8bd18: Delete: storage/ndb/test/ndbapi/old_dirs/testScanInterpreter/Makefile BitKeeper/deleted/.del-Makefile~b3c2cd57699a958c: Delete: storage/ndb/test/ndbapi/old_dirs/testSystemRestart/Makefile BitKeeper/deleted/.del-Makefile~c6f264b16640c32b: Delete: storage/ndb/test/ndbapi/old_dirs/testScan/Makefile BitKeeper/deleted/.del-Makefile~f5c05697b5c6a926: Delete: storage/ndb/test/ndbapi/old_dirs/testTimeout/Makefile BitKeeper/deleted/.del-Makefile~2e74033e6077aa3a: Delete: storage/ndb/test/ndbapi/old_dirs/testTransactions/Makefile BitKeeper/deleted/.del-Makefile~91dad370d76274be: Delete: storage/ndb/test/ndbapi/old_dirs/vw_test/Makefile BitKeeper/deleted/.del-Makefile~ddc74468722656bb: Delete: storage/ndb/test/ndbapi/old_dirs/test_event/Makefile BitKeeper/deleted/.del-bcd.h~81fbfcc1530534da: Delete: storage/ndb/test/ndbapi/old_dirs/vw_test/bcd.h BitKeeper/deleted/.del-client_start~1ecfaed180a75edd: Delete: storage/ndb/test/ndbapi/old_dirs/vw_test/script/client_start BitKeeper/deleted/.del-utv.h~f64af026b9705ebb: Delete: storage/ndb/test/ndbapi/old_dirs/vw_test/utv.h BitKeeper/deleted/.del-vcdrfunc.h~85803875180684cd: Delete: storage/ndb/test/ndbapi/old_dirs/vw_test/vcdrfunc.h BitKeeper/deleted/.del-Makefile~ae168985806f34e8: Delete: storage/ndb/src/common/portlib/old_dirs/ose/Makefile BitKeeper/deleted/.del-Makefile~b50f189dfbc87d8a: Delete: storage/ndb/src/common/portlib/old_dirs/memtest/munmaptest/Makefile BitKeeper/deleted/.del-Makefile~dcc8c444bf25ce41: Delete: storage/ndb/src/common/portlib/old_dirs/memtest/Makefile BitKeeper/deleted/.del-NdbCondition.c~ee56562abdd718cf: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbCondition.c BitKeeper/deleted/.del-NdbConditionOSE.h~455dd2c29c2e6344: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbConditionOSE.h BitKeeper/deleted/.del-NdbEnv.c~bb6fe7572d45288a: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbEnv.c BitKeeper/deleted/.del-NdbHost.c~cf18d6b3c825180c: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbHost.c BitKeeper/deleted/.del-NdbMem.c~6c2b317c1ce230ab: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbMem.c BitKeeper/deleted/.del-NdbMem_SoftOse.cpp~9c61e311ec168d44: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbMem_SoftOse.cpp BitKeeper/deleted/.del-NdbMutex.c~f4bdd19be08b84ab: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbMutex.c BitKeeper/deleted/.del-NdbOut.cpp~8caa99a0d729540c: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbOut.cpp BitKeeper/deleted/.del-NdbSleep.c~b88fbc5b140de10d: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbSleep.c BitKeeper/deleted/.del-NdbTCP.c~1e9f416992352f6d: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbTCP.c BitKeeper/deleted/.del-NdbThread.c~fe71a67b5c3a4724: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbThread.c BitKeeper/deleted/.del-NdbTick.c~b76feba2cf1493d1: Delete: storage/ndb/src/common/portlib/old_dirs/ose/NdbTick.c BitKeeper/deleted/.del-Makefile~aa96712c481bc8e: Delete: storage/ndb/src/common/portlib/old_dirs/win32/Makefile BitKeeper/deleted/.del-Makefile~d04b4a185b6e1071: Delete: storage/ndb/src/common/portlib/old_dirs/test/Makefile BitKeeper/deleted/.del-NdbCondition.c~ad83464328ab37af: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbCondition.c BitKeeper/deleted/.del-NdbDaemon.c~3b8101f376b28df: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbDaemon.c BitKeeper/deleted/.del-NdbEnv.c~207f9ce9754c9e8a: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbEnv.c BitKeeper/deleted/.del-NdbHost.c~2c29816c77396d7b: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbHost.c BitKeeper/deleted/.del-NdbMem.c~6285b159985d46da: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbMem.c BitKeeper/deleted/.del-NdbMutex.c~768131269bccca10: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbMutex.c BitKeeper/deleted/.del-NdbSleep.c~b643ea3e7103eb62: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbSleep.c BitKeeper/deleted/.del-NdbTCP.c~b09cdcbef3ea2c57: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbTCP.c BitKeeper/deleted/.del-NdbThread.c~2fe1fa5f47801772: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbThread.c BitKeeper/deleted/.del-NdbTick.c~aa6385567216509d: Delete: storage/ndb/src/common/portlib/old_dirs/win32/NdbTick.c BitKeeper/deleted/.del-Makefile~62207a82b90e653: Delete: storage/ndb/test/tools/old_dirs/hugoCalculator/Makefile BitKeeper/deleted/.del-Makefile~54e6a2262bbe162a: Delete: storage/ndb/test/tools/old_dirs/hugoLockRecords/Makefile BitKeeper/deleted/.del-Makefile~79e81dfed9112c7: Delete: storage/ndb/test/tools/old_dirs/hugoLoad/Makefile BitKeeper/deleted/.del-Makefile~c2b94348137b633a: Delete: storage/ndb/test/tools/old_dirs/hugoPkDelete/Makefile BitKeeper/deleted/.del-Makefile~f90065821a932b3f: Delete: storage/ndb/test/tools/old_dirs/hugoFill/Makefile BitKeeper/deleted/.del-Makefile~3ae1e42a4d7b1d6a: Delete: storage/ndb/test/tools/old_dirs/hugoPkRead/Makefile BitKeeper/deleted/.del-Makefile~89557cc224193d4: Delete: storage/ndb/test/tools/old_dirs/hugoPkReadRecord/Makefile BitKeeper/deleted/.del-Makefile~a6a5bd72a2311773: Delete: storage/ndb/test/tools/old_dirs/hugoScanRead/Makefile BitKeeper/deleted/.del-Makefile~e918384f46b2aef0: Delete: storage/ndb/test/tools/old_dirs/hugoPkUpdate/Makefile BitKeeper/deleted/.del-Makefile~2a7bcc03f802d4f: Delete: storage/ndb/test/tools/old_dirs/hugoScanUpdate/Makefile BitKeeper/deleted/.del-Makefile~2f05dedf982dcd9: Delete: storage/ndb/test/tools/old_dirs/transproxy/Makefile BitKeeper/deleted/.del-Makefile~b9e514baf06145d5: Delete: storage/ndb/test/tools/old_dirs/restart/Makefile BitKeeper/deleted/.del-Makefile~f1d6329f42d0922d: Delete: storage/ndb/test/tools/old_dirs/verify_index/Makefile BitKeeper/deleted/.del-waiter.cpp~b188e4bfddf2cf98: Delete: storage/ndb/test/tools/old_dirs/waiter/waiter.cpp BitKeeper/deleted/.del-Makefile~65110e0a5cb381: Delete: storage/ndb/tools/old_dirs/copy_tab/Makefile BitKeeper/deleted/.del-Makefile~6dbecfdfc2878bb3: Delete: storage/ndb/tools/old_dirs/cpcc/Makefile BitKeeper/deleted/.del-Makefile~77a4d0f4c11f13b5: Delete: storage/ndb/tools/old_dirs/create_index/Makefile BitKeeper/deleted/.del-Makefile~57f187037bf9e65d: Delete: storage/ndb/tools/old_dirs/desc/Makefile BitKeeper/deleted/.del-Makefile~b25e897a378dd139: Delete: storage/ndb/tools/old_dirs/delete_all/Makefile BitKeeper/deleted/.del-Makefile~1b4547a47a5607: Delete: storage/ndb/tools/old_dirs/drop_index/Makefile BitKeeper/deleted/.del-Makefile~62140e0b68eb516c: Delete: storage/ndb/tools/old_dirs/drop_tab/Makefile BitKeeper/deleted/.del-Makefile~b95bfed632918157: Delete: storage/ndb/tools/old_dirs/list_tables/Makefile BitKeeper/deleted/.del-Makefile.PL~81be90388548652f: Delete: storage/ndb/tools/old_dirs/ndbnet/Makefile.PL BitKeeper/deleted/.del-ndbnet.pl~8f8f1b18f0458269: Delete: storage/ndb/tools/old_dirs/ndbnet/ndbnet.pl BitKeeper/deleted/.del-ndbnetd.pl~e44f1cfe7e8bbe14: Delete: storage/ndb/tools/old_dirs/ndbnet/ndbnetd.pl BitKeeper/deleted/.del-Base.pm~50a6f0d38fa1a57c: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Base.pm BitKeeper/deleted/.del-ndbrun~5db549d7436ac81b: Delete: storage/ndb/tools/old_dirs/ndbnet/ndbrun BitKeeper/deleted/.del-Client.pm~45adb527c5cfdaf6: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Client.pm BitKeeper/deleted/.del-Command.pm~a20dff1bfd06ea7a: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Command.pm BitKeeper/deleted/.del-Config.pm~24456d4beba19604: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Config.pm BitKeeper/deleted/.del-Database.pm~cc02e455b02c557: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Database.pm BitKeeper/deleted/.del-Env.pm~ffeca4ab253818c3: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Env.pm BitKeeper/deleted/.del-Node.pm~276106bf4000fe2b: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Node.pm BitKeeper/deleted/.del-NodeApi.pm~3abf1d7bc947d3d0: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeApi.pm BitKeeper/deleted/.del-NodeDb.pm~9e3055381da679ce: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeDb.pm BitKeeper/deleted/.del-NodeMgmt.pm~5123fbffcfce73cb: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeMgmt.pm BitKeeper/deleted/.del-Server.pm~70208c964371fd4d: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Server.pm BitKeeper/deleted/.del-ServerINET.pm~fc72d28fedd17795: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerINET.pm BitKeeper/deleted/.del-ServerUNIX.pm~ad3e25435fceb8d0: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerUNIX.pm BitKeeper/deleted/.del-Base.pm~dd382c9eec2c38b1: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Base.pm BitKeeper/deleted/.del-Database.pm~ec533cd5dd6a54a2: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Database.pm BitKeeper/deleted/.del-Env.pm~a343841fae6d0514: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Env.pm BitKeeper/deleted/.del-Net.pm~425c84165071d5f6: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net.pm BitKeeper/deleted/.del-Node.pm~339139ded5fcf795: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Node.pm BitKeeper/deleted/.del-Run.pm~9b414f2b4b76a4da: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run.pm BitKeeper/deleted/.del-Base.pm~f39906f304e8a49: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Base.pm BitKeeper/deleted/.del-Util.pm~9be64f1195ec502d: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util.pm BitKeeper/deleted/.del-Dir.pm~4cbe8dd8c57149a7: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Dir.pm BitKeeper/deleted/.del-Event.pm~f445c1c094f57cf: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Event.pm BitKeeper/deleted/.del-File.pm~48da8e977f39bf7: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/File.pm BitKeeper/deleted/.del-IO.pm~6c6a63ce63fe2ee5: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/IO.pm BitKeeper/deleted/.del-Lock.pm~366e56786358b3d8: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Lock.pm BitKeeper/deleted/.del-Log.pm~e0da9468a6f9213a: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Log.pm BitKeeper/deleted/.del-Socket.pm~371ccd6c5a818fa0: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Socket.pm BitKeeper/deleted/.del-SocketINET.pm~db8a45b1360b69f2: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketINET.pm BitKeeper/deleted/.del-SocketUNIX.pm~9ffab2ada7f61530: Delete: storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketUNIX.pm BitKeeper/deleted/.del-Makefile~b15469c2fbde2dec: Delete: storage/ndb/tools/old_dirs/ndbsql/Makefile BitKeeper/deleted/.del-Makefile~3d1cd223b42a8fa0: Delete: storage/ndb/tools/old_dirs/select_count/Makefile BitKeeper/deleted/.del-Makefile~62f516a16a0cf773: Delete: storage/ndb/tools/old_dirs/select_all/Makefile BitKeeper/deleted/.del-CounterViewer.java~e83264ff6a5be97: Delete: storage/ndb/tools/old_dirs/src/counterviewer/CounterViewer.java storage/ndb/Makefile.am: Remove reference to old_files directory
Diffstat (limited to 'storage/ndb/tools/old_dirs/ndbnet/lib/NDB')
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net.pm42
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Base.pm12
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Client.pm252
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Command.pm641
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Config.pm235
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Database.pm321
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Env.pm94
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Node.pm747
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeApi.pm84
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeDb.pm116
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeMgmt.pm318
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Server.pm149
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerINET.pm116
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerUNIX.pm54
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run.pm40
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Base.pm12
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Database.pm89
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Env.pm84
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Node.pm114
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util.pm37
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Base.pm113
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Dir.pm170
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Event.pm103
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/File.pm163
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/IO.pm213
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Lock.pm136
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Log.pm367
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Socket.pm158
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketINET.pm86
-rw-r--r--storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketUNIX.pm76
30 files changed, 0 insertions, 5142 deletions
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net.pm
deleted file mode 100644
index 3b7b16bb3cf..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net.pm
+++ /dev/null
@@ -1,42 +0,0 @@
-package NDB::Net;
-
-use strict;
-use Carp;
-require Exporter;
-
-use NDB::Util;
-
-use vars qw(@ISA @EXPORT @EXPORT_OK);
-@ISA = qw(Exporter);
-
-use vars qw(@modules);
-@modules = qw(
- NDB::Net::Base
- NDB::Net::Client
- NDB::Net::Command
- NDB::Net::Config
- NDB::Net::Database
- NDB::Net::Env
- NDB::Net::Node
- NDB::Net::NodeApi
- NDB::Net::NodeDb
- NDB::Net::NodeMgmt
- NDB::Net::Server
- NDB::Net::ServerINET
- NDB::Net::ServerUNIX
-);
-
-return 1 if $main::onlymodules;
-
-for my $module (@modules) {
- eval "require $module";
- $@ and confess "$module $@";
-}
-
-for my $module (@modules) {
- eval "$module->initmodule";
- $@ and confess "$module $@";
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Base.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Base.pm
deleted file mode 100644
index 900446138e8..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Base.pm
+++ /dev/null
@@ -1,12 +0,0 @@
-package NDB::Net::Base;
-
-use strict;
-use Carp;
-
-require NDB::Util::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Base);
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Client.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Client.pm
deleted file mode 100644
index d34a18d63af..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Client.pm
+++ /dev/null
@@ -1,252 +0,0 @@
-package NDB::Net::Client;
-
-use strict;
-use Carp;
-use POSIX();
-use Socket;
-
-require NDB::Net::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-my %clientcache = ();
-my $clientid = 0;
-
-NDB::Net::Client->attributes(
- id => sub { /^\d+$/ },
- addtime => sub { /^\d+$/ },
- state => sub { /^(new|input|cmd)$/ },
- socket => sub { ref && $_->isa('NDB::Util::Socket') },
- serversocket => sub { ref && $_->isa('NDB::Util::Socket') },
- serverlock => sub { ref && $_->isa('NDB::Util::Lock') },
- event => sub { ref && $_->isa('NDB::Util::Event') },
- context => sub { defined },
- cmd => sub { ref && $_->isa('NDB::Net::Command') },
-);
-
-sub desc {
- my $client = shift;
- my $id = $client->getid;
- my $fileno = fileno($client->getsocket->getfh);
- return "client $id fd=$fileno";
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $client = $class->SUPER::new(%attr);
- $client->setid(++$clientid)
- or $log->push, return undef;
- $client->setaddtime(time)
- or $log->push, return undef;
- $client->setstate(q(new))
- or $log->push, return undef;
- $client->setsocket($attr{socket})
- or $log->push, return undef;
- $client->setserversocket($attr{serversocket})
- or $log->push, return undef;
- $client->setserverlock($attr{serverlock})
- or $log->push, return undef;
- $client->setevent($attr{event})
- or $log->push, return undef;
- $client->setcontext($attr{context})
- or $log->push, return undef;
- $log->put("add")->push($client)->info;
- $clientcache{$client->getid} = $client;
- return $client;
-}
-
-sub listall {
- my $class = shift;
- my $list = [];
- for my $id (sort { $a <=> $b } keys %clientcache) {
- my $client = $clientcache{$id};
- push(@$list, $client);
- }
- return $list;
-}
-
-sub exists {
- my $client = shift;
- return exists($clientcache{$client->getid});
-}
-
-sub delete {
- my $client = shift;
- $log->put("delete")->push($client)->info;
- $client->getevent->clear($client->getsocket, 'r');
- $client->getsocket->close;
- delete $clientcache{$client->getid} or confess 'oops';
-}
-
-sub deleteother {
- my $thisclient = shift;
- for my $id (sort { $a <=> $b } keys %clientcache) {
- my $client = $clientcache{$id};
- if ($client ne $thisclient) {
- $client->delete;
- }
- }
-}
-
-sub deleteall {
- my $class = shift;
- for my $id (sort { $a <=> $b } keys %clientcache) {
- my $client = $clientcache{$id};
- $client->delete;
- }
-}
-
-# processing
-
-sub processnew {
- my $client = shift;
- @_ == 0 or confess 0+@_;
- $log->put("process new")->push($client)->debug;
- $client->getevent->set($client->getsocket, 'r');
- $log->attachuser(io => $client->getsocket);
- $client->setstate(q(input))
- or $log->push, return undef;
- return 1;
-}
-
-sub processinput {
- my $client = shift;
- @_ == 0 or confess 0+@_;
- $log->put("process input")->push($client)->debug;
- my $line = $client->getsocket->readline;
- if (! defined($line)) {
- $log->push;
- return undef;
- }
- if (length($line) == 0) {
- if ($client->getsocket->getreadend) {
- $log->put("no command")->push($client);
- return undef;
- }
- $log->put("wait for input")->push($client)->debug;
- return 1;
- }
- $log->put("got line: $line")->push($client)->info;
- $client->getevent->clear($client->getsocket, 'r');
- my $cmd = NDB::Net::Command->new(line => $line)
- or $log->push, return undef;
- $log->put("command received")->push($cmd)->push($client)->debug;
- $client->setcmd($cmd)
- or $log->push, return undef;
- $client->setstate(q(cmd))
- or $log->push, return undef;
- return 1;
-}
-
-sub processcmd {
- my $client = shift;
- @_ == 0 or confess 0+@_;
- $log->put("process cmd")->push($client)->debug;
- my $cmd = $client->getcmd;
- my $context = $client->getcontext;
- my $name_fg = "cmd_" . $cmd->getname . "_fg";
- my $name_bg = "cmd_" . $cmd->getname . "_bg";
- my $fg = $context->can($name_fg);
- my $bg = $context->can($name_bg);
- unless ($fg || $bg) {
- $log->put("%s: unimplemented", $cmd->getname);
- return undef;
- }
- my $ret;
- if ($fg) {
- $log->put($name_fg)->push($cmd)->push($client)->info;
- if (! ref($context)) {
- $ret = &$fg($cmd);
- }
- else {
- $ret = &$fg($context, $cmd);
- }
- defined($ret)
- or $log->push, return undef;
- if (! $bg) {
- $log->push($name_fg)->putvalue($ret)->user;
- return 1;
- }
- }
- if ($bg) {
- $log->put($name_bg)->push($cmd)->push($client)->info;
- my $pid = fork;
- if (! defined($pid)) {
- $log->put("fork failed: $!");
- return undef;
- }
- if ($pid == 0) {
- $client->getserversocket->close;
- $client->getserverlock->close;
- $client->deleteother;
- if (! ref($context)) {
- $ret = &$bg($cmd);
- }
- else {
- $ret = &$bg($context, $cmd);
- }
- if (! $ret) {
- $log->push($client)->error;
- $log->push($name_bg)->putvalue(undef)->user;
- exit(1);
- }
- $log->push($name_bg)->putvalue($ret)->user;
- exit(0);
- }
- }
- return 1;
-}
-
-sub process {
- my $client = shift;
- @_ == 0 or confess 0+@_;
- try: {
- if ($client->getstate eq q(new)) {
- $client->processnew
- or $log->push, last try;
- }
- if ($client->getstate eq q(input)) {
- $client->processinput
- or $log->push, last try;
- }
- if ($client->getstate eq q(cmd)) {
- $client->processcmd
- or $log->push, last try;
- $log->detachuser;
- $client->delete;
- return 1;
- }
- return 1;
- }
- $log->push($client)->error;
- $log->putvalue(undef)->user;
- $log->detachuser;
- $client->delete;
- return undef;
-}
-
-sub processall {
- my $class = shift;
- @_ == 0 or confess 0+@_;
- my $list = $class->listall;
- for my $client (@$list) {
- $client->process;
- }
- while ((my $pid = waitpid(-1, &POSIX::WNOHANG)) > 0) {
- $log->put("harvested pid=$pid")->info;
- }
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Command.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Command.pm
deleted file mode 100644
index 30145d09fa9..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Command.pm
+++ /dev/null
@@ -1,641 +0,0 @@
-package NDB::Net::Command;
-
-use strict;
-use Carp;
-use Getopt::Long;
-use Text::ParseWords ();
-use Text::Tabs ();
-
-require NDB::Net::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-my($cmdtab, $aliastab);
-
-NDB::Net::Command->attributes(
- name => sub { /^\s*\w+\b/ },
- argv => sub { ref eq 'ARRAY' },
- optspec => sub { ref eq 'ARRAY' },
- argspec => sub { /^\d+$/ || ref eq 'CODE' },
- short => sub { defined && ! ref },
- help => sub { defined && ! ref },
- opts => sub { ref eq 'HASH' },
- args => sub { ref eq 'ARRAY' },
-);
-
-sub desc {
- my $cmd = shift;
- return "command " . $cmd->getname("?");
-};
-
-sub processname {
- my $cmd = shift;
- @_ == 0 or confess 0+@_;
- my $cmdargv = $cmd->getargv;
- my $name = shift(@$cmdargv);
- my %seen = ();
- while ((my $entry) = grep($name eq $_->{name}, @$aliastab)) {
- $seen{$name}++ && last;
- unshift(@$cmdargv, split(' ', $entry->{value}));
- $name = shift(@$cmdargv);
- }
- if ((my $entry) = grep($_->{name} eq $name, @$cmdtab)) {
- $cmd->setname($entry->{name})
- or $log->push, return undef;
- $cmd->setoptspec($entry->{optspec})
- or $log->push, return undef;
- $cmd->setargspec($entry->{argspec})
- or $log->push, return undef;
- }
- else {
- $log->put("$name: undefined")->push($cmd);
- return undef;
- }
- return 1;
-}
-
-sub getopttype {
- my $cmd = shift;
- my($key) = @_;
- if (grep(/^$key$/, @{$cmd->getoptspec})) {
- return 1;
- }
- if (grep(/^$key=/, @{$cmd->getoptspec})) {
- return 2;
- }
- return undef;
-}
-
-sub processargv {
- my $cmd = shift;
- @_ == 0 or confess 0+@_;
- my $cmdargv = $cmd->getargv;
- my @newargv = ();
- while (@$cmdargv) {
- my $v = shift(@$cmdargv);
- if (! defined($v)) {
- next;
- }
- if (ref($v) eq 'ARRAY') {
- unshift(@$cmdargv, @$v); # push back
- next;
- }
- if (ref($v) eq 'HASH') {
- for my $k (sort keys %$v) {
- if ($cmd->getopttype($k) == 1) {
- push(@newargv, "--$k");
- next;
- }
- if ($cmd->getopttype($k) == 2) {
- push(@newargv, "--$k", $v->{$k});
- next;
- }
- $log->put("$k: undefined option")->push($cmd);
- return undef;
- }
- next;
- }
- if (ref($v)) {
- confess 'oops';
- }
- push(@newargv, $v);
- }
- push(@$cmdargv, @newargv);
- return 1;
-}
-
-sub processopts {
- my $cmd = shift;
- @_ == 0 or confess 0+@_;
- my $cmdargv = $cmd->getargv;
- local(@ARGV) = @$cmdargv;
- try: {
- local $SIG{__WARN__} = sub {
- my $errstr = "@_";
- while (chomp($errstr)) {}
- $log->put($errstr)->push($cmd);
- };
- $cmd->setopts({})
- or $log->push, return undef;
- Getopt::Long::Configure(qw(
- default no_getopt_compat no_ignore_case
- ));
- GetOptions($cmd->getopts, @{$cmd->getoptspec})
- or return undef;
- }
- $cmd->setargs([ @ARGV ])
- or $log->push, return undef;
- return 1;
-}
-
-sub processargs {
- my $cmd = shift;
- @_ == 0 or confess 0+@_;
- my $cmdargs = $cmd->getargs;
- if ($cmd->getargspec =~ /^\d+$/) {
- if (@$cmdargs != $cmd->getargspec) {
- $log->put("invalid arg count %d != %d",
- scalar(@$cmdargs), $cmd->getargspec)->push($cmd);
- return undef;
- }
- }
- if (ref($cmd->getargspec) eq 'CODE') {
- local $_ = scalar(@$cmdargs);
- if (! &{$cmd->getargspec}()) {
- $log->put("invalid arg count %d",
- scalar(@$cmdargs))->push($cmd);
- return undef;
- }
- }
- return 1;
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my %attr = @_;
- my $cmd = $class->SUPER::new(%attr);
- my $cmdargv = [];
- $cmd->setargv($cmdargv)
- or $log->push, return undef;
- my $line = $attr{line};
- my $argv = $attr{argv};
- defined($line) != defined($argv) # exactly one
- or confess 'oops';
- if (defined($line)) {
- ! ref($line) or confess 'oops';
- push(@$cmdargv, Text::ParseWords::shellwords($line));
- }
- if (defined($argv)) {
- ref($argv) eq 'ARRAY' or confess 'oops';
- push(@$cmdargv, @$argv);
- }
- if (! @$cmdargv) {
- $log->put("empty command");
- return undef;
- }
- $cmd->processname
- or $log->push, return undef;
- $cmd->processargv
- or $log->push, return undef;
- $cmd->processopts
- or $log->push, return undef;
- $cmd->processargs
- or $log->push, return undef;
- return $cmd;
-}
-
-sub getline {
- my $cmd = shift;
- @_ == 0 or confess 0+@_;
- my @text = ($cmd->getname);
- for my $k (sort keys %{$cmd->getopts}) {
- if ($cmd->getopttype($k) == 1) {
- push(@text, "--$k");
- next;
- }
- if ($cmd->getopttype($k) == 2) {
- push(@text, "--$k", quotemeta($cmd->getopts->{$k}));
- next;
- }
- confess 'oops';
- }
- for my $s (@{$cmd->getargs}) {
- push(@text, quotemeta($s));
- }
- return "@text";
-}
-
-sub setopt {
- my $cmd = shift;
- my($key, $value) = @_;
- if ($cmd->getopttype($key) == 1) {
- @_ == 1 or confess 0+@_;
- $cmd->getopts->{$key} = 1;
- }
- elsif ($cmd->getopttype($key) == 2) {
- @_ == 2 or confess 0+@_;
- $cmd->getopts->{$key} = $value;
- }
- else {
- confess 'oops';
- }
-}
-
-sub getopt {
- my $cmd = shift;
- @_ == 1 or confess 0+@_;
- my($key) = @_;
- $cmd->getopttype($key) or confess 'oops';
- return $cmd->getopts->{$key};
-}
-
-sub setarg {
- my $cmd = shift;
- @_ == 2 or confess 0+@_;
- my($idx, $value) = @_;
- $cmd->getargs->[$idx] = $value;
-}
-
-sub getarg {
- my $cmd = shift;
- @_ == 1 or confess 0+@_;
- my($idx) = @_;
- return $cmd->getargs->[$idx];
-}
-
-sub getarglist {
- my $cmd = shift;
- @_ == 1 or confess 0+@_;
- my($idx) = @_;
- my @args = @{$cmd->getargs};
- @args = @args[$idx..$#args];
- return \@args;
-}
-
-sub helptext {
- my $cmd = shift;
- @_ <= 1 or confess 0+@_;
- my $name = $cmd->getargs->[0];
- my $text = "";
- my $indent = " "x4;
- if (defined($name)) {
- for my $entry (@$aliastab) {
- if ($entry->{name} eq $name) {
- $text .= "alias $name=\"$entry->{value}\"\n";
- ($name) = split(' ', $entry->{value});
- last;
- }
- }
- }
- else {
- $text .= "COMMANDS\n";
- }
- for my $entry (@$cmdtab) {
- if (defined($name)) {
- if ($entry->{name} eq $name) {
- $text .= uc($name) . "\n";
- for my $t (split(/\n/, $entry->{help})) {
- $text .= $indent;
- $text .= Text::Tabs::expand($t) . "\n";
- }
- last;
- }
- }
- else {
- $text .= $indent;
- $text .= sprintf("%-16s%s\n", $entry->{name}, $entry->{short});
- }
- }
- if (! $text) {
- $log->put("$name: undefined");
- return undef;
- }
- return $text;
-}
-
-sub aliastext {
- my $cmd = shift;
- @_ == 0 or confess 0+@_;
- my $text = "";
- my $indent = " "x4;
- $text .= "ALIASES\n";
- for my $entry (@$aliastab) {
- $text .= $indent;
- $text .= sprintf("%-16s%s\n", $entry->{name}, $entry->{value});
- }
- return $text;
-}
-
-# commands
-# name command name (unique)
-# optspec option spec in Getopt::Long style
-# argspec arg count (number or sub)
-# short one line summary
-# help long help text
-# opts options HASH (after parse)
-# args arguments ARRAY (after parse)
-
-$cmdtab = [
- {
- name => "help",
- optspec => [ qw() ],
- argspec => sub { $_[0] <= 1 },
- short => "print help (try: h h)",
- help => <<END,
-help [name]
-name command name or alias
-
-Print help summary or longer help text for one command.
-
-General:
-
-Options can be placed anywhere on command line and can be abbreviated.
-Example: "start db11 -i" instead of "start --init_rm db11".
-
-Several commands have internal option --local which makes current server
-do the work, instead of passing it to other servers. This option should
-not be used explicitly, except for testing.
-END
- },
- {
- name => "alias",
- optspec => [ qw() ],
- argspec => 0,
- short => "list aliases",
- help => <<END,
-alias
-
-List built-in aliases. New ones cannot be defined (yet).
-END
- },
- {
- name => "quit",
- optspec => [ qw() ],
- argspec => 0,
- short => "exit ndbnet",
- help => <<END,
-quit
-
-Exit ndbnet client.
-END
- },
- {
- name => "server",
- optspec => [ qw(all direct pass parallel script=s local) ],
- argspec => sub { $_ >= 1 },
- short => "net server commands",
- help => <<END,
-server action id... [options]
-action start restart stop ping
-id net server id from net config
---all do all servers listed in net config
---direct do not use a server
---pass pass current ndb environment to remote command
---parallel run in parallel when possible
---script path remote script instead of "ndbnetd"
---local for internal use by servers
-
-Each host needs one net server (ndbnetd). It should be started
-from latest ndb installation, for example at system boot time.
-A "server ping" is used to check that all servers are up (option
---all is added if no server ids are given).
-
-Other actions are mainly for testing. A "server start" tries to
-start servers via "ssh". This does not work if "ssh" is not allowed
-or if the remote command does not get right environment.
-
-Option --direct makes this ndbnet client do the work. It is assumed
-for "server start" and it requires that a local net config exists.
-Option --pass is useful in a homogeneous (NFS) environment.
-
-There are aliases "startserver" for "server start", etc.
-END
- },
- {
- name => "start",
- optspec => [ qw(init_rm nostart stop kill config old home=s clean proxy=s) ],
- argspec => 1,
- short => "start database",
- help => <<END,
-start dbname [options]
-dbname database name
---init_rm destroy existing database files on each node
---nostart for DB nodes only do "ndb -n"
---stop do "stop dbname" first
---kill do "kill dbname" first
---config create run config but start no processes
---old use existing config files
---home dir override home (product dir) from config
---clean passed to startnode
---proxy list generate proxy ports (read the source)
-
-Start a database as follows:
-
-- start mgmt servers on all mgmt nodes
-- start ndb processes on all db nodes
-- send "all start" to first mgmt server (redundant)
-- start processes on all api nodes (if runtype!="manual")
-
-Older database versions (v1.0) are started similarly except that there
-are no management servers.
-
-The --proxy option is used for testing network problems.
-END
- },
- {
- name => "startnode",
- optspec => [ qw(init_rm nostart config old run=s home=s local clean proxy=s) ],
- argspec => 2,
- short => "start database node",
- help => <<END,
-startnode dbname nodeid [options]
-dbname database name
-nodeid node number
---init_rm destroy existing database files (if db node)
---nostart if DB node only do "ndb -n"
---config create run config but start no processes
---old use existing config files
---run cmd run this shell command, default from config file
---home dir override home (product dir) from config
---local node must be local to this ndbnet server
---clean remove old node dir first
---proxy list processed by mgmt nodes, see "start" command
-
-Start the process on one database node. The node can be of any type
-(mgmt/db/api). If already running, does nothing.
-
-The --run option specifies a simple shell command (not pipeline etc).
-Defaults:
-
-- mgmt node => mgmtsrvr -p port -l Ndb.cfg -i config.txt -c config.bin
- where port comes from ndbnet.xml
-- db node => ndb
-- api node => based on ndbnet config, default empty
-
-The node server exits when the command exits (unless runtype is set to
-auto). Command exit status is not available.
-
-Used internally by db "start" command.
-END
- },
- {
- name => "stop",
- optspec => [ qw() ],
- argspec => 1,
- short => "stop database",
- help => <<END,
-stop dbname [options]
-dbname database name
-
-Stop a database as follows (see also "stopnode" command):
-
-- send SIGTERM to api processes, wait for them to exit
-- send "all stop" command to first mgmt server
-- wait for db processes to exit
-- send "quit" to mgmt servers, wait for them to exit
-END
- },
- {
- name => "stopnode",
- optspec => [ qw(local) ],
- argspec => 2,
- short => "stop process on one node",
- help => <<END,
-stopnode dbname nodeid [options]
-dbname database name
-nodeid node number
---local node must be local to this server
-
-Stop process on one database node. Action depends on node type:
-
-- api node: send SIGTERM to the process, wait for it to exit
-- db node: no action, wait for the ndb process to exit
-- mgmt node: send "quit" command to mgmt server, wait for it to exit
-
-Used internally by db "stop" command.
-END
- },
- {
- name => "kill",
- optspec => [ qw() ],
- argspec => 1,
- short => "kill processes on all nodes",
- help => <<END,
-kill dbname [options]
-dbname database name
-
-Send SIGKILL to processes on all nodes and wait for them to exit.
-END
- },
- {
- name => "killnode",
- optspec => [ qw(local) ],
- argspec => 2,
- short => "kill process on one node",
- help => <<END,
-killnode dbname nodeid [options]
-dbname database name
-nodeid node number
---local node must be local to this server
-
-Send SIGKILL to the process on the node and wait for it to exit.
-
-Used internally by db "kill" command.
-END
- },
- {
- name => "statnode",
- optspec => [ qw(local) ],
- argspec => 2,
- short => "get node run status (internal)",
- help => <<END,
-statnode dbname nodeid [options]
-dbname database name
-nodeid node number
---local node must be local to this server
-
-Get node run status (up/down) as a process. Used internally
-and may not produce any output in ndbnet command.
-END
- },
- {
- name => "list",
- optspec => [ qw(quick short) ],
- argspec => sub { 1 },
- short => "list databases",
- help => <<END,
-list [dbname] [options]
-dbname database name, default is to list all
---quick only output config, do not query status
---short do list nodes
-
-List databases and nodes. Internally returns a data structure
-of process and mgmt server status values for each node. Externally
-(in ndbnet command) this is formatted as a listing.
-END
- },
- {
- name => "writenode",
- optspec => [ qw(wait=i local) ],
- argspec => 3,
- short => "write line of text to the process on a node",
- help => <<END,
-writenode dbname nodeid "some text"
-dbname database name
-nodeid node number
-"some text" arbitrary text (quote if spaces)
---wait n wait n seconds for any response
---local node must be local to this server
-
-Write the text and a newline to the standard input of the process
-running on the node. If wait > 0 is specified, prints whatever
-the process wrote to stdout/stderr during that time.
-
-Used internally by "start" and other commands.
-END
- },
-];
-
-# aliases
-# name alias
-# value expansion
-
-$aliastab = [
- {
- name => "h",
- value => "help",
- },
- {
- name => "q",
- value => "quit",
- },
- {
- name => "EOF",
- value => "quit",
- },
- {
- name => "startserver",
- value => "server start",
- },
- {
- name => "ss",
- value => "server start",
- },
- {
- name => "restartserver",
- value => "server restart",
- },
- {
- name => "rss",
- value => "server restart",
- },
- {
- name => "stopserver",
- value => "server stop",
- },
- {
- name => "pingserver",
- value => "server ping",
- },
- {
- name => "ps",
- value => "server ping",
- },
- {
- name => "l",
- value => "list",
- },
-];
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Config.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Config.pm
deleted file mode 100644
index 4c5db3cd3f5..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Config.pm
+++ /dev/null
@@ -1,235 +0,0 @@
-package NDB::Net::Config;
-
-use strict;
-use Carp;
-use Symbol;
-use Socket;
-use Errno;
-use XML::Parser;
-
-require NDB::Net::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Net::Config->attributes(
- file => sub { /^\S+$/ },
- loadtime => sub { /^\d+$/ },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $netcfg = $class->SUPER::new(%attr);
- $netcfg->setfile($attr{file})
- or $log->put, return undef;
- return $netcfg;
-}
-
-sub desc {
- my $netcfg = shift;
- return $netcfg->getfile;
-}
-
-use vars qw(@context);
-
-sub handle_start {
- my($parser, $tag, %attr) = @_;
- my $p = $context[-1];
- my $q = {};
- $p->{$tag} ||= [];
- push(@{$p->{$tag}}, $q);
- for my $k (keys %attr) {
- $q->{$k} = $attr{$k};
- }
- push(@context, $q);
- return 1;
-}
-
-sub handle_end {
- my($parser, $tag, %attr) = @_;
- pop(@context);
- return 1;
-}
-
-sub load {
- my $netcfg = shift;
- my $file = $netcfg->getfile;
- my @s;
- while (1) {
- if (@s = stat($file)) {
- last;
- }
- $log->put("$file: stat failed: $!");
- if (! $!{ESTALE}) {
- return undef;
- }
- $log->put("(retry)")->info;
- sleep 1;
- }
- if ($s[9] <= $netcfg->getloadtime(0)) {
- return 1;
- }
- my $fh = gensym();
- if (! open($fh, "<$file")) {
- $log->put("$file: open for read failed: $!");
- return undef;
- }
- my $text = "";
- my $line;
- while (defined($line = <$fh>)) {
- $text .= $line;
- }
- close($fh);
- my $parser = XML::Parser->new(
- ParseParamEnt => 1,
- Handlers => {
- Start => \&handle_start,
- End => \&handle_end,
- },
- );
- delete $netcfg->{config};
- local @context = ($netcfg);
- $parser->parse($text);
- $netcfg->{text} = $text;
- $netcfg->{config} = $netcfg->{config}[0];
- $netcfg->setloadtime(time)
- or $log->push, return undef;
- NDB::Net::Server->deleteall;
- NDB::Net::Database->deleteall;
- NDB::Net::Node->deleteall;
- return 1;
-}
-
-sub getservers {
- my $netcfg = shift;
- @_ == 0 or confess 0+@_;
- my $servers = [];
- my $slist = $netcfg->{config}{server} || [];
- for my $s (@$slist) {
- my $server;
- $server = NDB::Net::ServerINET->get($s->{id});
- if (! $server) {
- $server = NDB::Net::ServerINET->new(%$s);
- if (! $server) {
- $log->push($netcfg)->warn;
- next;
- }
- }
- push(@$servers, $server);
- }
- return $servers;
-}
-
-sub getdatabases {
- my $netcfg = shift;
- @_ == 0 or confess 0+@_;
- my $databases = [];
- my $dlist = $netcfg->{config}{database} || [];
- for my $d (@$dlist) {
- if ($d->{isproto} eq "y") {
- next;
- }
- if ($d->{name} !~ /^\w(\w|-)*$/) {
- $log->put("$d->{name}: invalid db name")->push($netcfg)->warn;
- next;
- }
- my $db = $netcfg->getdatabase($d->{name});
- if (! $db) {
- $log->push->warn;
- next;
- }
- push(@$databases, $db);
- }
- return $databases;
-}
-
-sub getdatabase {
- my $netcfg = shift;
- @_ == 1 or confess 0+@_;
- my($name) = @_;
- $netcfg->getservers or return undef; # cache them
- my $default = $netcfg->{config}{default}[0] || {};
- my $db;
- my $dlist = $netcfg->{config}{database} || [];
- my $nlist;
- for my $d (@$dlist) {
- ($d->{name} ne $name) && next;
- if ($d->{isproto} eq "y") {
- next;
- }
- my %attr = (%$default, %$d);
- $db = NDB::Net::Database->new(%attr);
- if (! $db) {
- $log->push($netcfg);
- return undef;
- }
- if ($d->{proto}) {
- if ($d->{isproto} eq "y") {
- $log->put("$name: prototypes cannot be recursive");
- return undef;
- }
- for my $d2 (@$dlist) {
- ($d2->{name} ne $d->{proto}) && next;
- if ($d2->{isproto} ne "y") {
- $log->put("$name: $d2->{name} is not a prototype");
- return undef;
- }
- if (! $d->{node}) {
- $d->{node} = $d2->{node};
- }
- last;
- }
- }
- $nlist = $d->{node} || [];
- last;
- }
- if (! $db) {
- $log->put("$name: no such db")->push($netcfg);
- return undef;
- }
- if (! @$nlist) {
- $log->put("$name: empty node list")->push($netcfg);
- return undef;
- }
- for my $n (@$nlist) {
- my $node;
- try: {
- my $server = NDB::Net::Server->get($n->{server})
- or last try;
- my %attr = (%$n, db => $db, server => $server);
- my $type = $attr{type};
- if ($type eq 'db') {
- $node = NDB::Net::NodeDb->new(%attr)
- or last try;
- }
- if ($type eq 'mgmt') {
- $node = NDB::Net::NodeMgmt->new(%attr)
- or last try;
- }
- if ($type eq 'api') {
- $node = NDB::Net::NodeApi->new(%attr)
- or last try;
- }
- $log->put("bad node type '$type'");
- }
- if (! $node) {
- $log->push($netcfg);
- $db->delete;
- return undef;
- }
- }
- return $db;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Database.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Database.pm
deleted file mode 100644
index 7ea15be0650..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Database.pm
+++ /dev/null
@@ -1,321 +0,0 @@
-package NDB::Net::Database;
-
-use strict;
-use Carp;
-use Symbol;
-
-require NDB::Net::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-my %dbcache = ();
-
-NDB::Net::Database->attributes(
- name => sub { s/^\s+|\s+$//g; /^\S+$/ && ! m!/! },
- comment => sub { defined },
- version => sub { /^\d+(\.\d+)*$/ },
- base => sub { $^O eq 'MSWin32' || m!^/\S+$! },
- home => sub { $^O eq 'MSWin32' || m!^/\S+$! },
- nodeport => sub { $_ > 0 },
-);
-
-sub desc {
- my $db = shift;
- return $db->getname;
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $db = $class->SUPER::new(%attr);
- $db->setname($attr{name})
- or $log->push, return undef;
- if ($dbcache{$db->getname}) {
- $log->put("duplicate db")->push($db);
- return undef;
- }
- $db->setcomment($attr{comment});
- $db->setversion($attr{version})
- or $log->push, return undef;
- if (defined($attr{base})) {
- $db->setbase($attr{base})
- or $log->push, return undef;
- }
- if (defined($attr{home})) {
- if ($^O ne 'MSWin32' && $attr{home} !~ m!^/! && $db->hasbase) {
- $attr{home} = $db->getbase . "/$attr{home}";
- }
- $db->sethome($attr{home})
- or $log->push, return undef;
- }
- if (defined($attr{nodeport})) {
- $db->setnodeport($attr{nodeport})
- or $log->push, return undef;
- }
- if ($^O eq 'MSWin32' && ! $db->hasnodeport) {
- $log->put("nodeport required on windows")->push($db), return undef;
- }
- $db->{nodehash} = {};
- $dbcache{$db->getname} = $db;
- return $db;
-}
-
-sub delete {
- my $db = shift;
- my $nodelist = $db->getnodelist('all');
- for my $node (@$nodelist) {
- $node->delete;
- }
- delete $dbcache{$db->getname};
-}
-
-sub deleteall {
- my $class = shift;
- for my $name (sort keys %dbcache) {
- my $db = $dbcache{$name};
- $db->delete;
- }
-}
-
-# assume numerical dot separated version numbers like 1.1.2
-sub cmpversion {
- my $db = shift;
- my $version = shift;
- my @x = split(/\./, $db->getversion);
- my @y = split(/\./, $version);
- while (@x || @y) {
- return -1 if $x[0] < $y[0];
- return +1 if $x[0] > $y[0];
- shift(@x);
- shift(@y);
- }
- return 0;
-}
-
-# nodes
-
-sub addnode {
- my $db = shift;
- @_ == 1 or confess 0+@_;
- my($node) = @_;
- unless (ref($node) && $node->isa('NDB::Net::Node')) {
- confess 'oops';
- }
- my $id = $node->getid;
- if ($db->{nodehash}{$id}) {
- $log->put("$id: duplicate node id")->push($db);
- return undef;
- }
- $db->{nodehash}{$id} = $node;
- return 1;
-}
-
-sub getnode {
- my $db = shift;
- @_ == 1 or confess 0+@_;
- my($id) = @_;
- $id += 0;
- my $node = $db->{nodehash}{$id};
- if (! $node) {
- $log->put("$id: no such node id")->push($db);
- return undef;
- }
- return $node;
-}
-
-sub getnodelist {
- my $db = shift;
- @_ == 1 or confess 0+@_;
- my($type) = @_;
- $type =~ /^(all|mgmt|db|api)$/ or confess 'oops';
- my @nodes = ();
- for my $id (sort { $a <=> $b } keys %{$db->{nodehash}}) {
- my $node = $db->{nodehash}{$id};
- if ($type eq 'all' or $type eq $node->gettype) {
- push(@nodes, $node);
- }
- }
- return \@nodes;
-}
-
-# start /stop
-
-sub start {
- my $db = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- if ($opts->{stop} || $opts->{kill}) {
- my $method = $opts->{stop} ? "stop" : "kill";
- my %opts = ();
- $db->$method(\%opts)
- or $log->push, return undef;
- }
- $log->put("start")->push($db)->info;
- my $nodesmgmt = $db->getnodelist('mgmt');
- my $nodesdb = $db->getnodelist('db');
- my $nodesapi = $db->getnodelist('api');
- my $ret;
- try: {
- my %startopts = ();
- for my $k (qw(local init_rm nostart config old home clean proxy)) {
- $startopts{$k} = $opts->{$k} if defined($opts->{$k});
- }
- my %writeopts = ();
- for my $k (qw(local)) {
- $writeopts{$k} = $opts->{$k} if defined($opts->{$k});
- }
- if ($db->cmpversion("1.0") > 0) {
- for my $node (@$nodesmgmt) {
- $node->start(\%startopts) or last try;
- }
- for my $node (@$nodesdb) {
- $node->start(\%startopts) or last try;
- }
- if (! $opts->{config}) {
- for my $node (@$nodesmgmt) { # probably redundant
- $node->write(\%writeopts, "all start") or last try;
- last;
- }
- }
- }
- else {
- for my $node (@$nodesdb) {
- $node->start(\%startopts) or last try;
- }
- if (! $opts->{config}) {
- for my $node (@$nodesdb) { # probably redundant
- $node->write(\%writeopts, "start") or last try;
- }
- }
- }
- for my $node (@$nodesapi) {
- my %apiopts = %startopts;
- if ($node->getruntype eq 'manual') {
- $apiopts{config} = 1;
- }
- $node->start(\%apiopts) or last try;
- }
- $ret = 1;
- }
- if (! $ret) {
- $log->push("start failed")->push($db);
- return undef;
- }
- my $msg = ! $opts->{config} ? "start done" : "config created";
- $log->put($msg)->push($db)->user;
- return 1;
-}
-
-sub stop {
- my $db = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- $log->put("stop")->push($db)->info;
- my $nodesmgmt = $db->getnodelist('mgmt');
- my $nodesdb = $db->getnodelist('db');
- my $nodesapi = $db->getnodelist('api');
- my $ret;
- try: {
- for my $node (@$nodesapi) {
- $node->stop($opts) or last try;
- }
- if ($db->cmpversion("1.0") > 0) {
- for my $node (@$nodesmgmt) {
- $node->write($opts, "all stop") or last try;
- last;
- }
- for my $node (@$nodesdb) {
- $node->stop($opts) or last try;
- }
- for my $node (@$nodesmgmt) {
- $node->stop($opts) or last try;
- }
- }
- else {
- for my $node (@$nodesdb) {
- $node->write($opts, "stop") or last try;
- }
- for my $node (@$nodesdb) {
- $node->stop($opts) or last try;
- }
- }
- $ret = 1;
- }
- if (! $ret) {
- $log->push("stop failed")->push($db);
- return undef;
- }
- $log->put("stop done")->push($db)->user;
- return 1;
-}
-
-sub kill {
- my $db = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- $log->put("kill")->push($db)->info;
- my $nodesmgmt = $db->getnodelist('mgmt');
- my $nodesdb = $db->getnodelist('db');
- my $nodesapi = $db->getnodelist('api');
- my $ret = 1;
- try: {
- for my $node (@$nodesapi) {
- $node->kill($opts) || ($ret = undef);
- }
- for my $node (@$nodesdb) {
- $node->kill($opts) || ($ret = undef);
- }
- for my $node (@$nodesmgmt) {
- $node->kill($opts) || ($ret = undef);
- }
- }
- if (! $ret) {
- $log->push("kill failed")->push($db);
- return undef;
- }
- $log->put("kill done")->push($db)->user;
- return 1;
-}
-
-sub list {
- my $db = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- my $dbsts = {};
- $dbsts->{comment} = $db->getcomment("");
- $dbsts->{home} = $db->gethome;
- $log->put("status")->push($db)->info;
- my $mgmsts;
- for my $node (@{$db->getnodelist('mgmt')}) {
- $mgmsts = $node->get_status or
- $log->push->error;
- last;
- }
- $mgmsts ||= {};
- for my $node (@{$db->getnodelist('all')}) {
- my $id = $node->getid;
- my $nodests = $dbsts->{node}{$id} ||= {};
- my $stat = $node->stat($opts) or
- $log->push->error;
- $nodests->{id} = $id;
- $nodests->{type} = $node->gettype;
- $nodests->{comment} = $node->getcomment("");
- $nodests->{host} = $node->getserver->gethost;
- $nodests->{run} = $stat || "error";
- $nodests->{status} = $mgmsts->{node}{$id};
- }
- return $dbsts;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Env.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Env.pm
deleted file mode 100644
index d79e72f2bb3..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Env.pm
+++ /dev/null
@@ -1,94 +0,0 @@
-package NDB::Net::Env;
-
-use strict;
-use File::Spec;
-use Carp;
-
-require NDB::Net::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Base);
-
-# environment variables
-#
-# NDB_TOP source dir or installation dir
-# NDB_BASE base dir not tied to any release or database
-# NDB_NETCFG ndbnet config file, default $NDB_BASE/etc/ndbnet.xml
-#
-# ndbnet explicitly unsets NDB_TOP and NDB_HOME because they are
-# specific to each database or database node
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Net::Env->attributes(
- base => sub { /^\S+$/ },
- netcfg => sub { /^\S+$/ },
- hostname => sub { /^\S+$/ },
-);
-
-my $instance;
-
-sub desc {
- my $netenv = shift;
- return "net environment";;
-}
-
-sub instance {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- if ($instance) {
- return $instance;
- }
- for my $var (qw(NDB_TOP NDB_HOME)) {
- my $top = delete $ENV{$var};
- if (defined($top)) {
- if ($^O ne 'MSWin32') {
- $ENV{PATH} =~ s!(^|:)$top/bin($|:)!$1$2!g;
- $ENV{LD_LIBRARY_PATH} =~ s!(^|:)$top/lib($|:)!$1$2!g;
- $ENV{PERL5LIB} =~ s!(^|:)$top/lib/perl5($|:)!$1$2!g;
- }
- }
- }
- my $netenv = $class->SUPER::new(%attr);
- for my $base ($attr{base}, $ENV{NDB_BASE}) {
- if (defined($base)) {
- $netenv->setbase($base)
- or $log->push, return undef;
- }
- }
- for my $netcfg ($attr{netcfg}, $ENV{NDB_NETCFG}) {
- if (defined($netcfg)) {
- $netenv->setnetcfg($netcfg)
- or $log->push, return undef;
- }
- }
- if ($netenv->hasbase && ! $netenv->hasnetcfg) {
- $netenv->setnetcfg(File::Spec->catfile($netenv->getbase, "etc", "ndbnet.xml"))
- or $log->push, return undef;
- }
- my $uname;
- if ($^O ne 'MSWin32') {
- chomp($uname = `uname -n`);
- } else {
- chomp($uname = `hostname`);
- }
- my($hostname) = gethostbyname($uname);
- if (! defined($hostname)) {
- $uname =~ s!\..*$!!;
- ($hostname) = gethostbyname($uname);
- }
- $netenv->sethostname($hostname)
- or $log->push, return undef;
- $instance = $netenv;
- return $instance;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Node.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Node.pm
deleted file mode 100644
index f41bf51168d..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Node.pm
+++ /dev/null
@@ -1,747 +0,0 @@
-package NDB::Net::Node;
-
-use strict;
-use Carp;
-use Symbol;
-use Socket;
-use IPC::Open3;
-use POSIX();
-use Errno;
-use File::Spec;
-
-require NDB::Net::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-my %nodecache = ();
-
-NDB::Net::Node->attributes(
- db => sub { ref && $_->isa('NDB::Net::Database') },
- comment => sub { defined },
- id => sub { s/^\s+|\s+$//g; s/^0+(\d+)$/$1/; /^\d+$/ && $_ > 0 },
- type => sub { s/^\s+|\s+$//g; /^(mgmt|db|api)$/ },
- server => sub { ref && $_->isa('NDB::Net::Server') },
- base => sub { File::Spec->file_name_is_absolute($_) },
- home => sub { File::Spec->file_name_is_absolute($_) },
- state => sub { /^(new|run|stop)$/ },
- run => sub { defined },
- runenv => sub { defined },
- runtype => sub { m!(auto|once|manual)$! },
- lockpid => sub { $_ != 0 },
- iow => sub { ref && $_->isa('NDB::Util::IO') },
- ior => sub { ref && $_->isa('NDB::Util::IO') },
- pid => sub { $_ > 1 },
- event => sub { ref && $_->isa('NDB::Util::Event') },
-);
-
-sub desc {
- my $node = shift;
- my $dbname = $node->getdb->getname;
- my $id = $node->getid;
- my $type = $node->gettype;
- return "$dbname.$id-$type";
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $node = $class->SUPER::new(%attr);
- $node->setdb($attr{db})
- or $log->push, return undef;
- $node->setid($attr{id})
- or $log->push, return undef;
- if ($nodecache{$node->getdb->getname,$node->getid}) {
- $log->put("duplicate node")->push($node);
- return undef;
- }
- $node->setcomment($attr{comment});
- $node->settype($attr{type})
- or $log->push, return undef;
- if ($node->getdb->cmpversion("1.0") <= 0 && $node->gettype eq 'mgmt') {
- $log->put("no mgmt nodes in db version <= 1.0")->push($node);
- return undef;
- }
- $node->setserver($attr{server})
- or $log->push, return undef;
- for my $base ($attr{base}, $node->getdb->getbase(undef)) {
- if (defined($base)) {
- $node->setbase($base)
- or $log->push, return undef;
- }
- }
- for my $home ($attr{home}, $node->getdb->gethome(undef)) {
- if (defined($home)) {
- if ($^O ne 'MSWin32' && $home !~ m!^/! && $node->hasbase) {
- $home = $node->getbase . "/$home";
- }
- $node->sethome($home)
- or $log->push, return undef;
- }
- }
- if (! $node->hashome) {
- $log->put("home not defined")->push($node);
- return undef;
- }
- $node->setstate('new')
- or $log->push, return undef;
- if (defined($attr{run})) {
- $node->setrun($attr{run})
- or $log->push, return undef;
- }
- if (defined($attr{runenv})) {
- $node->setrunenv($attr{runenv})
- or $log->push, return undef;
- }
- if (defined($attr{runtype})) {
- $node->setruntype($attr{runtype})
- or $log->push, return undef;
- }
- if (! $node->hasruntype) {
- my $runtype = "manual";
- $runtype = "once"
- if $node->gettype =~ /^(mgmt|db)$/ || $node->hasrun;
- $node->setruntype($runtype)
- or $log->push, return undef;
- }
- if (! $node->getdb->addnode($node)) {
- $log->push;
- return undef;
- }
- $nodecache{$node->getdb->getname,$node->getid} = $node;
- return $node;
-}
-
-sub delete {
- my $node = shift;
- delete $nodecache{$node->getdb->getname,$node->getid} or
- confess 'oops';
-}
-
-sub deleteall {
- my $class = shift;
- for my $k (sort keys %nodecache) {
- my $node = $nodecache{$k};
- $node->delete;
- }
-}
-
-# node startup
-
-sub getconfdir {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $netenv = NDB::Net::Env->instance;
- my $name = File::Spec->catfile($netenv->getbase, "etc");
- my $dir = NDB::Util::Dir->new(path => $name);
- return $dir;
-}
-
-sub getdbdir {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $netenv = NDB::Net::Env->instance;
- my $name = File::Spec->catfile($netenv->getbase, "db", $node->getdb->getname);
- my $dir = NDB::Util::Dir->new(path => $name);
- return $dir;
-}
-
-sub getnodedir {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("%s-%s", $node->getid, $node->gettype);
- my $dir = $node->getdbdir->getdir($name);
- return $dir;
-}
-
-sub getrundir {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("run");
- my $dir = $node->getdbdir->getdir($name);
- return $dir;
-}
-
-sub getlogdir {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("log");
- my $dir = $node->getdbdir->getdir($name);
- return $dir;
-}
-
-sub getlock {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("%s-%s.pid", $node->getid, $node->gettype);
- my $lock = $node->getrundir->getfile($name)->getlock;
- return $lock;
-}
-
-sub getsocketfile {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("%s-%s.socket", $node->getid, $node->gettype);
- my $file = $node->getrundir->getfile($name);
- return $file;
-}
-
-sub getlogfile {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("%s-%s.log", $node->getid, $node->gettype);
- my $file = $node->getlogdir->getfile($name);
- return $file;
-}
-
-sub getshellfile {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("run.sh");
- my $file = $node->getnodedir->getfile($name);
- return $file;
-}
-
-sub getlocalcfg {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = "Ndb.cfg";
- my $file = $node->getnodedir->getfile($name);
- return $file;
-}
-
-sub writelocalcfg {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $db = $node->getdb;
- my $file = $node->getlocalcfg;
- $file->mkdir or $log->push, return undef;
- if ($db->cmpversion("1.0") <= 0) {
- my $section = "";
- my $edit = sub {
- chomp;
- if (/^\s*\[\s*(\S+)\s*\]/) {
- $section = uc($1);
- }
- if ($section eq 'OWN_HOST') {
- if (/^\s*ThisHostId\b/i) {
- $_ = "ThisHostId " . $node->getid;
- }
- }
- if ($section eq 'CM') {
- if (/^\s*ThisNodeId\b/i) {
- $_ = "ThisNodeId " . $node->getid;
- }
- }
- if (0 and $section eq 'PROCESS_ID') {
- if (/^\s*Host(\d+)\s+(\S+)(.*)/) {
- my $id2 = $1;
- my $host2 = $2;
- my $rest2 = $3;
- my $node2 = $db->getnode($id2)
- or $log->push, return undef;
- $_ = "Host$id2 ";
- $_ .= $node2->getserver->getcanon;
- $_ .= " $rest2";
- }
- }
- $_ .= "\n";
- return 1;
- };
- $node->getinifile->copyedit($file, $edit)
- or $log->push, return undef;
- }
- else {
- my @text = ();
- push(@text, sprintf("OwnProcessId %s", $node->getid));
- my $nodesmgmt = $db->getnodelist('mgmt');
- for my $mnode (@$nodesmgmt) {
- my $host = $mnode->getserver->getcanon;
- my $port = $mnode->getport;
- push(@text, "$host $port");
- }
- $file->putlines(\@text) or $log->push, return undef;
- }
- return 1;
-}
-
-sub getinifile {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("%s.ini", $node->getdb->getname);
- my $file = $node->getconfdir->getfile($name);
- return $file;
-}
-
-sub getbincfg {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = sprintf("config.bin");
- my $file = $node->getnodedir->getfile($name);
- return $file;
-}
-
-sub getenvdefs {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my $opts = shift;
- my $home = $opts->{home} || $node->gethome;
- my $netenv = NDB::Net::Env->instance;
- if (! File::Spec->file_name_is_absolute($home)) {
- $netenv->hasbase
- or $log->put("no base and home=$home not absolute"), return undef;
- $home = File::Spec->catfile($netenv->getbase, $home);
- }
- (-d $home)
- or $log->put("$home: no such directory"), return undef;
- my $defs;
- if ($^O ne 'MSWin32') {
- $defs = <<END;
-# @{[ $node->desc ]} @{[ $node->getcomment("") ]}
-# @{[ $node->getserver->desc ]} @{[ $node->getserver->getcanon ]}
-#
-debugger=\$1
-#
-NDB_TOP=$home
-export NDB_TOP
-PATH=\$NDB_TOP/bin:\$PATH
-export PATH
-LD_LIBRARY_PATH=\$NDB_TOP/lib:\$LD_LIBRARY_PATH
-export LD_LIBRARY_PATH
-PERL5LIB=\$NDB_TOP/lib/perl5:\$PERL5LIB
-export PERL5LIB
-NDB_NODEID=@{[ $node->getid ]}
-export NDB_NODEID
-NDB_NODETYPE=@{[ $node->gettype ]}
-export NDB_NODETYPE
-ulimit -Sc unlimited
-END
- if ($node->hasrunenv) {
- $defs .= <<END;
-#
-cd @{[ $node->getnodedir->getpath ]} || exit 1
-@{[ $node->getrunenv ]}
-END
- }
- $defs .= <<END;
-#
-unset NDB_HOME # current NdbConfig.c would look here
-#
-END
- } else {
- $defs = <<END;
-rem @{[ $node->desc ]} @{[ $node->getcomment("") ]}
-rem @{[ $node->getserver->desc ]} @{[ $node->getserver->getcanon ]}
-rem
-set NDB_TOP=$home
-set PATH=%NDB_TOP%\\bin;%PATH%
-set PERL5LIB=%NDB_TOP%\\lib\\perl5;%PERL5LIB%
-set NDB_NODEID=@{[ $node->getid ]}
-set NDB_NODETYPE=@{[ $node->gettype ]}
-END
- if ($node->hasrunenv) {
- $defs .= <<END;
-rem
-@{[ $node->getrunenv ]}
-END
- }
- $defs .= <<END;
-rem
-rem current NdbConfig.c would look here
-set NDB_HOME=
-rem
-END
- }
- chomp($defs);
- return $defs;
-}
-
-sub startlocal {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- $log->put("start local")->push($node)->info;
- my $lock = $node->getlock;
- $lock->mkdir or $log->push, return undef;
- anon: {
- my $ret = $lock->test;
- defined($ret) or $log->push, return undef;
- if ($ret) {
- $log->put("already running under serverpid=%s",
- $lock->getpid)->push($node)->user;
- return 1;
- }
- $lock->set or $log->push, return undef;
- }
- if ($opts->{clean}) {
- $node->getnodedir->rmdir(1);
- $node->getlogfile->unlink;
- }
- if (! $opts->{old}) {
- $node->writelocalcfg or $log->push, return undef;
- $node->handleprepare($opts) or $log->push, return undef;
- }
- anon: {
- $lock->close;
- if ($opts->{config}) {
- return 1;
- }
- my $file = $node->getlogfile;
- $file->mkdir or $log->push, return undef;
- my $pid = fork();
- defined($pid) or $log->put("fork failed: $!"), return undef;
- if ($pid) {
- exit(0);
- }
- $lock->set or $log->push->fatal;
- $node->setlockpid($$) or $log->push->fatal;
- if ($^O ne 'MSWin32') {
- POSIX::setsid() or $log->put("setsid failed: $!")->fatal;
- }
- $log->setfile($file->getpath) or $log->push->fatal;
- }
- my $socket;
- anon: {
- my $file = $node->getsocketfile;
- $file->mkdir or $log->push($node)->fatal;
- unlink($file->getpath);
- if ($^O ne 'MSWin32') {
- $socket = NDB::Util::SocketUNIX->new
- or $log->push($node)->fatal;
- } else {
- $socket = NDB::Util::SocketINET->new
- or $log->push($node)->fatal;
- }
- $socket->setopt(SOL_SOCKET, SO_REUSEADDR, 1)
- or $log->push($node)->fatal;
- if ($^O ne 'MSWin32') {
- $socket->bind($file->getpath)
- or $log->push($node)->fatal;
- } else {
- $socket->bind($node->getdb->getnodeport + $node->getid)
- or $log->push($node)->fatal;
- }
- $socket->listen
- or $log->push($node)->fatal;
- }
- START: {
- my $w = gensym();
- my $r = gensym();
- my @arg = ('/bin/sh', $node->getshellfile->getpath);
- my $pid = open3($w, $r, undef, @arg);
- $node->setiow(NDB::Util::IO->new(fh => $w))
- or $log->push->fatal;
- $node->setior(NDB::Util::IO->new(fh => $r))
- or $log->push->fatal;
- $node->setpid($pid)
- or $log->push->fatal;
- }
- $node->setstate('run')
- or $log->push($node)->fatal;
- $log->put("started host=%s pid=%s",
- $node->getserver->gethost, $node->getpid)->push($node)->user;
- $log->push("started")->push($node)->putvalue(1)->user;
- $log->detachuser;
- NDB::Net::Client->deleteall;
- my $event = NDB::Util::Event->new;
- $event->set($socket, 'r');
- $event->set($node->getior, 'r');
- loop: {
- try: {
- my $n = $event->poll(10);
- if (! defined($n)) {
- $log->push->error;
- sleep 1;
- last try;
- }
- if (! $n) {
- $log->push->debug;
- last try;
- }
- if ($node->hasior && $event->test($node->getior, 'r')) {
- my $data = $node->getior->read;
- if (! defined($data)) {
- $log->push->fatal;
- }
- if (length($data) > 0) {
- $node->handleoutput($opts, $data);
- }
- if ($node->getior->getreadend) {
- $log->put("input closed")->warn;
- $event->clear($node->getior, 'r');
- $node->getior->close;
- $node->delior;
- $node->handleeof($opts);
- last loop;
- }
- }
- if (! $event->test($socket, 'r')) {
- last try;
- }
- my $csocket = $socket->accept(10);
- if (! defined($csocket)) {
- $log->push->error;
- last try;
- }
- if (! $csocket) {
- $log->push->warn;
- last try;
- }
- my $client = NDB::Net::Client->new(
- socket => $csocket,
- serversocket => $socket,
- serverlock => $lock,
- event => $event,
- context => $node,
- );
- $client or $log->push->fatal;
- }
- NDB::Net::Client->processall;
- redo loop;
- }
- if ($node->getruntype eq "auto") {
- if ($node->getstate eq "run") {
- $log->put("restart in 5 seconds...")->info;
- sleep 5;
- goto START;
- }
- $log->put("stopping, skip restart")->info;
- }
- $lock->close;
- $node->getsocketfile->unlink;
- while (wait() != -1) {}
- $log->put("exit")->push->info;
- exit(0);
-}
-
-# handlers can be overridden in subclass
-
-sub handleprepare { confess 'oops'; }
-
-sub handleoutput {
- my $node = shift;
- @_ == 2 or confess 0+@_;
- my($opts, $data) = @_;
- $data =~ s/\015//g;
- $data = $node->{savedata} . $data;
- while ((my $i = index($data, "\n")) >= 0) {
- my $line = substr($data, 0, $i);
- $data = substr($data, $i+1);
- $log->put($line)->info;
- if ($opts->{user} && $line !~ /^\s*$/) {
- $log->put($line)->user;
- }
- }
- $node->{savedata} = $data;
- if (1 && length $node->{savedata}) { # XXX partial line
- my $line = $node->{savedata};
- $log->put($line)->info;
- if ($opts->{user} && $line !~ /^\s*$/) {
- $log->put($line)->user;
- }
- $node->{savedata} = "";
- }
-}
-
-sub handleeof {
-}
-
-# command subs can be overridden by subclass
-
-sub waitforexit {
- my $node = shift;
- my $lock = $node->getlock;
- my $lockpid = $node->getlockpid;
- my $n1 = 0;
- my $n2 = 10;
- while (1) {
- my $ret = $lock->test;
- defined($ret) or $log->push, return undef;
- if (! $ret) {
- $log->put("exit done")->push($node)->user;
- last;
- }
- if ($lockpid != $lock->getpid) {
- $log->put("restarted: lock pid changed %s->%s",
- $lockpid, $lock->getpid)->push($node);
- return undef;
- }
- if (++$n1 >= $n2) {
- $n2 *= 2;
- $log->put("wait for exit")->push($node)->user;
- }
- select(undef, undef, undef, 0.1);
- }
- return 1;
-}
-
-sub cmd_stopnode_bg {
- my($node, $cmd) = @_;
- return $node->waitforexit;
-}
-
-sub cmd_killnode_fg {
- my($node, $cmd) = @_;
- my $pid = $node->getpid;
- $log->put("kill -9 $pid")->push($node)->user;
- kill(9, $pid);
- $node->setstate('stop')
- or $log->push($node), return undef;
- return 1;
-}
-
-sub cmd_killnode_bg {
- my($node, $cmd) = @_;
- return $node->waitforexit;
-}
-
-sub cmd_statnode_bg {
- my($node, $cmd) = @_;
- return "up";
-}
-
-sub cmd_writenode_fg {
- my($node, $cmd) = @_;
- my $text = $cmd->getarg(2);
- while(chomp($text)) {};
- $log->put("write: $text")->push($node)->user;
- $node->getiow->write("$text\n");
- my $output = "";
- if ((my $num = $cmd->getopt("wait")) > 0) {
- my $lim = time + $num;
- $node->getior->settimeout(1);
- loop: {
- my $data = $node->getior->read;
- if (length($data) > 0) {
- $node->handleoutput({user => 1}, $data);
- $output .= $data;
- }
- redo loop if time < $lim;
- }
- $node->getior->settimeout(0);
- }
- return { output => $output };
-}
-
-# commands
-
-sub doremote {
- my $node = shift;
- my($cmdname, $opts, @args) = @_;
- my $server = $node->getserver;
- $log->put("$cmdname remote")->push($server)->push($node)->info;
- my $argv = [
- $cmdname, q(--local),
- $opts, $node->getdb->getname, $node->getid, @args ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $server->request($cmd)
- or $log->push, return undef;
- return $ret;
-}
-
-sub dolocal {
- my $node = shift;
- my($cmdname, $opts, @args) = @_;
- $log->put("$cmdname local")->push($node)->info;
- if (! $node->getserver->islocal) {
- $log->put("not local")->push($node->getserver)->push($node);
- return undef;
- }
- if ($cmdname eq "startnode") {
- return $node->startlocal($opts);
- }
- my $lock = $node->getlock;
- anon: {
- my $ret = $lock->test;
- defined($ret) or $log->push, return undef;
- if (! $ret) {
- if ($cmdname eq "statnode") {
- return "down";
- }
- $log->put("not running")->push($node)->user;
- return $cmdname eq "writenode" ? undef : 1;
- }
- }
- my $server;
- anon: {
- my $path = $node->getsocketfile->getpath;
- if (! -e $path) {
- $log->put("$path: no socket")->push($node);
- return undef;
- }
- if ($^O ne 'MSWin32') {
- $server = NDB::Net::ServerUNIX->new(id => 0, path => $path)
- or $log->push, return undef;
- } else {
- $server = NDB::Net::ServerINET->new(id => 0, host => $node->getserver->getcanon, port => $node->getdb->getnodeport + $node->getid)
- or $log->push, return undef;
- }
- }
- my $argv = [
- $cmdname,
- $opts, $node->getdb->getname, $node->getid, @args ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $server->request($cmd)
- or $log->push, return undef;
- $log->put("$cmdname done")->push($node)->info;
- return $ret;
-}
-
-sub start {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- $log->put("start")->push($node)->info;
- my $do = $opts->{local} ? "dolocal" : "doremote";
- return $node->$do("startnode", $opts);
-}
-
-sub stop {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- $log->put("stop")->push($node)->info;
- my $do = $opts->{local} ? "dolocal" : "doremote";
- return $node->$do("stopnode", $opts);
-}
-
-sub kill {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- $log->put("kill")->push($node)->info;
- my $do = $opts->{local} ? "dolocal" : "doremote";
- return $node->$do("killnode", $opts);
-}
-
-sub stat {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- $log->put("stat")->push($node)->info;
- my $do = $opts->{local} ? "dolocal" : "doremote";
- return $node->$do("statnode", $opts);
-}
-
-sub write {
- my $node = shift;
- @_ == 2 or confess 0+@_;
- my($opts, $text) = @_;
- $log->put("write: $text")->push($node)->info;
- my $do = $opts->{local} ? "dolocal" : "doremote";
- return $node->$do("writenode", $opts, $text);
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeApi.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeApi.pm
deleted file mode 100644
index 08f5f85577d..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeApi.pm
+++ /dev/null
@@ -1,84 +0,0 @@
-package NDB::Net::NodeApi;
-
-use strict;
-use Carp;
-use Symbol;
-
-require NDB::Net::Node;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Node);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Net::NodeApi->attributes();
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $node = $class->SUPER::new(%attr, type => 'api')
- or $log->push, return undef;
- return 1;
-}
-
-# run methods
-
-sub handleprepare {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- my $netenv = NDB::Net::Env->instance;
- my $envdefs = $node->getenvdefs($opts);
- defined($envdefs) or return undef;
- my $nodedir = $node->getnodedir;
- my $shellfile = $node->getshellfile;
- my $run;
- if ($node->hasrun) {
- $run = $node->getrun;
- }
- if (defined($opts->{run})) {
- $run = $opts->{run};
- }
- if (defined($run)) {
- $log->put("run: $run")->push($node)->user;
- }
- if ($^O ne 'MSWin32') {
- $shellfile->puttext(<<END) or $log->push, return undef;
-$envdefs
-cd @{[ $nodedir->getpath ]} || exit 1
-set -x
-exec \$DEBUGGER $run
-END
- } else {
- $shellfile->puttext(<<END) or $log->push, return undef;
-$envdefs
-cd @{[ $nodedir->getpath ]}
-call $run
-END
- }
- return 1;
-}
-
-sub cmd_stopnode_fg {
- my($node, $cmd) = @_;
- my $pid = $node->getpid;
- unless ($pid > 1) {
- $log->put("bad pid=$pid")->push($node);
- return undef;
- }
- $log->put("kill -15 $pid")->push($node)->user;
- kill(15, $pid);
- $node->setstate('stop')
- or log->push($node), return undef;
- return 1;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeDb.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeDb.pm
deleted file mode 100644
index 88a35ba4f8d..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeDb.pm
+++ /dev/null
@@ -1,116 +0,0 @@
-package NDB::Net::NodeDb;
-
-use strict;
-use Carp;
-use Symbol;
-
-require NDB::Net::Node;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Node);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Net::NodeDb->attributes(
- fsdir => sub { s/^\s+|\s+$//g; /^\S+$/ },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $node = $class->SUPER::new(%attr, type => 'db')
- or $log->push, return undef;
- $node->setfsdir($attr{fsdir})
- or $log->push, return undef;
- return 1;
-}
-
-# run methods
-
-sub handleprepare {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- my $netenv = NDB::Net::Env->instance;
- my $envdefs = $node->getenvdefs($opts);
- defined($envdefs) or return undef;
- my $nodedir = $node->getnodedir;
- my $shellfile = $node->getshellfile;
- my $fsdir = NDB::Util::Dir->new(
- path => sprintf("%s/%s/%s-%s.fs",
- $node->getfsdir, $node->getdb->getname, $node->getid, $node->gettype));
- $fsdir->mkdir or $log->push, return undef;
- my $init_rm;
- my $run;
- if ($^O ne 'MSWin32') {
- $init_rm = "# no -i";
- if ($opts->{init_rm}) {
- $init_rm = 'rm -f $NDB_FILESYSTEM/*/DBDIH/P0.sysfile';
- }
- $run = "\$NDB_TOP/bin/ndb";
- } else {
- $init_rm = "rem no -i";
- if ($opts->{init_rm}) {
- $init_rm =
- 'del/f %NDB_FILESYSTEM%\D1\DBDIH\P0.sysfile' . "\n" .
- 'del/f %NDB_FILESYSTEM%\D2\DBDIH\P0.sysfile';
- }
- $run = "ndb";
- }
- if ($node->getdb->cmpversion("1.0") <= 0) {
- $run .= " -s";
- }
- if ($opts->{nostart}) {
- $run .= " -n";
- }
- if ($node->hasrun) {
- $run = $node->getrun;
- }
- if (defined($opts->{run})) {
- $run = $opts->{run};
- }
- $log->put("run: $run")->push($node)->user;
- if ($^O ne 'MSWin32') {
- $shellfile->puttext(<<END) or $log->push, return undef;
-$envdefs
-NDB_FILESYSTEM=@{[ $fsdir->getpath ]}
-export NDB_FILESYSTEM
-# v1.0 compat
-UAS_FILESYSTEM=\$NDB_FILESYSTEM
-export UAS_FILESYSTEM
-mkdir -p \$NDB_FILESYSTEM
-$init_rm
-cd @{[ $nodedir->getpath ]} || exit 1
-exec \$debugger $run
-END
- } else {
- $shellfile->puttext(<<END) or $log->push, return undef;
-$envdefs
-set NDB_FILESYSTEM=@{[ $fsdir->getpath ]}
-rem v1.0 compat
-set UAS_FILESYSTEM=%NDB_FILESYSTEM%
-mkdir %NDB_FILESYSTEM%
-$init_rm
-cd @{[ $nodedir->getpath ]}
-call $run
-END
- }
- return 1;
-}
-
-sub cmd_stopnode_fg {
- my($node, $cmd) = @_;
- $node->setstate('stop')
- or log->push($node), return undef;
- return 1;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeMgmt.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeMgmt.pm
deleted file mode 100644
index 1056e3df623..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/NodeMgmt.pm
+++ /dev/null
@@ -1,318 +0,0 @@
-package NDB::Net::NodeMgmt;
-
-use strict;
-use Carp;
-use Symbol;
-
-require NDB::Net::Node;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Node);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Net::NodeMgmt->attributes(
- port => sub { s/^\s+|\s+$//g; /^\d+$/ },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $node = $class->SUPER::new(%attr, type => 'mgmt')
- or $log->push, return undef;
- $node->setport($attr{port})
- or $log->push, return undef;
- return 1;
-}
-
-# socket parser methods
-
-sub socketcommand {
- my $node = shift;
- my $socket;
- $socket = NDB::Util::SocketINET->new or
- $log->push($node), return undef;
- $socket->settimeout(10);
- $socket->connect($node->getserver->getcanon, $node->getport) or
- $log->push($node), return undef;
- $socket->write("GET STATUS\r\nBYE\r\n") or
- $log->push($node), return undef;
- my $out = "";
- my $data;
- while ($data = $socket->read) {
- $out .= $data;
- }
- $socket->close;
- $out =~ s/\015//g;
- return $out;
-}
-
-sub get_status {
- my $node = shift;
- my $out = $node->socketcommand or
- $log->push, return undef;
- my @out = split(/\n/, $out);
- $out[0] =~ /^get\s+status\s+(\d+)/i or
- $log->put("bad line 0: $out[0]"), return undef;
- my $cnt = $1;
- my $ret = {};
- for (my $i = 1; $i <= $cnt; $i++) {
- $out[$i] =~ /^$i\s+(.*)/ or
- $log->put("bad line $i: $out[$i]"), return undef;
- my $text = $1;
- $text =~ s/^\s+|\s+$//g;
- if ($text =~ /^ndb\s+(no_contact)\s+(\d+)$/i) {
- $text = lc "$1";
- } elsif ($text =~ /^ndb\s+(starting)\s+(\d+)$/i) {
- $text = lc "$1/$2";
- } elsif ($text =~ /^ndb\s+(started)\s+(\d+)$/i) {
- $text = lc "$1";
- } elsif ($text =~ /^ndb\s+(shutting_down)\s+(\d+)$/i) {
- $text = lc "$1";
- } elsif ($text =~ /^ndb\s+(restarting)\s+(\d+)$/i) {
- $text = lc "$1";
- } elsif ($text =~ /^ndb\s+(unknown)\s+(\d+)$/i) {
- $text = lc "$1";
- }
- $ret->{node}{$i} = $text;
- }
- return $ret;
-}
-
-# run methods
-
-sub getautoinifile {
- my $node = shift;
- @_ == 0 or confess 0+@_;
- my $name = "config.txt";
- my $file = $node->getnodedir->getfile($name);
- return $file;
-}
-
-sub writeautoinifile {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- my $db = $node->getdb;
- my $nodelist = $db->getnodelist('all');
- my $computers = {};
- for my $n (@$nodelist) {
- $computers->{$n->getserver->getid} ||= {
- id => $n->getserver->getid,
- hostname => $n->getserver->getcanon,
- };
- }
- my $section = ""; # e.g. PROCESSES
- my $auto;
- my $edit = sub {
- chomp;
- s/^\s+|\s+$//g;
- if (/^(\w+)$/) {
- $section = uc($1);
- }
- elsif (/^\@loop$/i) {
- $_ = "#$_";
- if ($auto) {
- $log->put("nested \@loop");
- return undef;
- }
- $auto = {};
- }
- elsif (/^\@base\s+(\S+)\s*$/) {
- my $arg = $1;
- $_ = "#$_";
- if (! $auto) {
- $log->put("unexpected \@base");
- return undef;
- }
- if ($arg !~ /^\d+$/) {
- $log->put("non-numerical \@base");
- return undef;
- }
- $auto->{base} = $arg;
- }
- elsif (/^\@end$/i) {
- $_ = "#$_";
- if (! $auto) {
- $log->put("unmatched \@end");
- return undef;
- }
- if ($section eq 'COMPUTERS') {
- for my $id (sort { $a <=> $b } keys %$computers) {
- my $computer = $computers->{$id};
- $_ .= "\n";
- $_ .= "\nId: " . $computer->{id};
- $_ .= "\nHostName: " . $computer->{hostname};
- if ($auto->{list}) {
- $_ .= "\n#defaults";
- for my $s (@{$auto->{list}}) {
- $_ .= "\n$s";
- }
- }
- }
- }
- elsif ($section eq 'PROCESSES') {
- for my $n (@$nodelist) {
- if ($auto->{type} && $n->gettype ne lc($auto->{type})) {
- next;
- }
- $_ .= "\n";
- $_ .= "\nType: " . uc($n->gettype);
- $_ .= "\nId: " . $n->getid;
- $_ .= "\nExecuteOnComputer: " . $n->getserver->getid;
- if ($auto->{list}) {
- $_ .= "\n#defaults";
- for my $s (@{$auto->{list}}) {
- $_ .= "\n$s";
- }
- }
- }
- }
- elsif ($section eq 'CONNECTIONS') {
- if (! $auto->{type}) {
- $log->put("cannot generate CONNECTIONS without type");
- return undef;
- }
- if (! defined($auto->{base})) {
- $log->put("need \@base for CONNECTIONS");
- return undef;
- }
- my $key = $auto->{base};
- for (my $i1 = 0; $i1 <= $#$nodelist; $i1++) {
- for (my $i2 = $i1+1; $i2 <= $#$nodelist; $i2++) {
- my $n1 = $nodelist->[$i1];
- my $n2 = $nodelist->[$i2];
- if ($n1->gettype ne 'db' && $n2->gettype ne 'db') {
- next;
- }
- $_ .= "\n";
- $_ .= "\nType: $auto->{type}";
- $_ .= "\nProcessId1: " . $n1->getid;
- $_ .= "\nProcessId2: " . $n2->getid;
- $key++;
- if ($auto->{type} eq 'TCP') {
- $_ .= "\nPortNumber: $key";
- if (my $list = $opts->{proxy}) {
- my $id1 = $n1->getid;
- my $id2 = $n2->getid;
- if ($list =~ /\b$id1\b.*-.*\b$id2\b/) {
- $key++;
- $_ .= "\nProxy: $key";
- } elsif ($list =~ /\b$id2\b.*-.*\b$id1\b/) {
- $key++;
- $_ .= "\nProxy: $key";
- }
- }
- }
- elsif ($auto->{type} eq 'SHM') {
- $_ .= "\nShmKey: $key";
- }
- else {
- $log->put("cannot handle CONNECTIONS type $auto->{type}");
- return undef;
- }
- if ($auto->{list}) {
- $_ .= "\n#defaults";
- for my $s (@{$auto->{list}}) {
- $_ .= "\n$s";
- }
- }
- }
- }
- }
- else {
- $log->put("found \@end in unknown section '$section'");
- return undef;
- }
- undef $auto;
- }
- elsif (/^$/) {
- }
- elsif ($auto) {
- if (/^Type:\s*(\w+)$/i) {
- $auto->{type} = uc($1);
- }
- else {
- $auto->{list} ||= [];
- push(@{$auto->{list}}, $_);
- }
- $_ = "";
- return 1; # no output
- }
- $_ .= "\n";
- return 1;
- };
- $node->getautoinifile->mkdir
- or $log->push, return undef;
- $node->getinifile->copyedit($node->getautoinifile, $edit)
- or $log->push, return undef;
- return 1;
-}
-
-sub handleprepare {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($opts) = @_;
- my $envdefs = $node->getenvdefs($opts);
- defined($envdefs) or return undef;
- my $nodedir = $node->getnodedir;
- my $shellfile = $node->getshellfile;
- my $port = $node->getport;
- my $lpath = $node->getlocalcfg->getbasename;
- $node->writeautoinifile($opts)
- or $log->push, return undef;
- my $ipath = $node->getautoinifile->getbasename;
- $node->getbincfg->mkdir or $log->push, return undef;
- my $cpath = $node->getbincfg->getbasename;
- my $run;
- if ($^O ne 'MSWin32') {
- $run = "\$NDB_TOP/bin/mgmtsrvr";
- } else {
- $run = "mgmtsrvr";
- }
- my $statport = $port + 1;
- $run .= " -l $lpath -c $ipath";
- if ($node->hasrun) {
- $run = $node->getrun;
- }
- if (defined($opts->{run})) {
- $run = $opts->{run};
- }
- $log->put("run: $run")->push($node)->user;
- if ($^O ne 'MSWin32') {
- $shellfile->puttext(<<END) or $log->push, return undef;
-$envdefs
-cd @{[ $nodedir->getpath ]} || exit 1
-set -x
-exec \$DEBUGGER $run
-END
- } else {
- $shellfile->puttext(<<END) or $log->push, return undef;
-$envdefs
-cd @{[ $nodedir->getpath ]}
-call $run
-END
- }
- return 1;
-}
-
-sub cmd_stopnode_fg {
- my $node = shift;
- @_ == 1 or confess 0+@_;
- my($cmd) = @_;
- $log->put("write: quit")->push($node)->user;
- $node->getiow->write("quit\n");
- $node->setstate('stop')
- or log->push($node), return undef;
- return 1;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Server.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Server.pm
deleted file mode 100644
index 5d2118f0ffe..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/Server.pm
+++ /dev/null
@@ -1,149 +0,0 @@
-package NDB::Net::Server;
-
-use strict;
-use Carp;
-use Socket;
-
-require NDB::Net::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-my %servercache = ();
-
-NDB::Net::Server->attributes(
- id => sub { s/^\s+|\s+$//g; m/^\S+$/ && ! m!/! },
- domain => sub { $_ == PF_UNIX || $_ == PF_INET },
-);
-
-sub desc {
- my $server = shift;
- my $id = $server->getid;
- return "server $id";
-}
-
-sub add {
- my $server = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- if ($servercache{$server->getid}) {
- $log->put("duplicate server")->push($server);
- return undef;
- }
- $servercache{$server->getid} = $server;
- return 1;
-}
-
-sub get {
- my $class = shift;
- @_ == 1 or confess 0+@_;
- my($id) = @_;
- $id =~ s/^\s+|\s+$//g;
- my $server = $servercache{$id};
- if (! $server) {
- $log->put("$id: undefined server");
- return undef;
- }
- $log->put("found")->push($server)->debug;
- return $server;
-}
-
-sub delete {
- my $server = shift;
- delete $servercache{$server->getid};
-}
-
-sub deleteall {
- my $class = shift;
- for my $id (sort keys %servercache) {
- my $server = $servercache{$id};
- $server->delete;
- }
-}
-
-# local server is this server process
-
-my $localserver;
-
-sub setlocal {
- my $server = shift;
- @_ == 0 or confess 0+@_;
- $localserver = $server;
-}
-
-sub islocal {
- my $server = shift;
- @_ == 0 or confess 0+@_;
- return $localserver eq $server;
-}
-
-# client side
-
-sub testconnect {
- my $server = shift;
- @_ == 0 or confess 0+@_;
- my $socket = $server->connect or
- $log->push($server), return undef;
- $socket->close;
- return 1;
-}
-
-sub request {
- my $server = shift;
- @_ == 1 or confess 0+@_;
- my($cmd) = @_;
- unless (ref($cmd) && $cmd->isa('NDB::Net::Command')) {
- confess 'oops';
- }
- my $socket = $server->connect
- or $log->push($server), return undef;
- anon: {
- my $line = $cmd->getline;
- my $n = $socket->write("$line\n");
- defined($n) && $n == length("$line\n")
- or $log->push($server), return undef;
- shutdown($socket->{fh}, 1);
- }
- my $value;
- try: {
- my $last;
- loop: {
- my $line = $socket->readline;
- defined($line)
- or $log->push($server), last try;
- if ($socket->getreadend) {
- last loop;
- }
- while (chomp($line)) {}
- $log->put($line)->user
- unless $log->hasvalue($line);
- $last = $line;
- redo loop;
- }
- if (! $log->hasvalue($last)) {
- $log->put("missing return value in \"$last\"")->push($server);
- last try;
- }
- $value = $log->getvalue($last);
- defined($value)
- or $log->push, last try;
- $value = $value->[0];
- if (! defined($value)) {
- $log->put("failed")->push($cmd);
- last try;
- }
- }
- $socket->close;
- return $value;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerINET.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerINET.pm
deleted file mode 100644
index a065c186855..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerINET.pm
+++ /dev/null
@@ -1,116 +0,0 @@
-package NDB::Net::ServerINET;
-
-use strict;
-use Carp;
-use Socket;
-
-require NDB::Net::Server;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Server);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Net::ServerINET->attributes(
- host => sub { s/^\s+|\s+$//g; /^\S+$/ },
- port => sub { s/^\s+|\s+$//g; /^\d+$/ },
- canon => sub { s/^\s+|\s+$//g; /^\S+$/ },
- aliases => sub { ref($_) eq 'ARRAY' },
-);
-
-
-sub desc {
- my $server = shift;
- my $id = $server->getid;
- my $host = $server->gethost;
- return "server $id at $host";
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $server = $class->SUPER::new(%attr);
- $server->setid($attr{id})
- or $log->push, return undef;
- $server->setdomain(PF_INET)
- or $log->push, return undef;
- $server->sethost($attr{host})
- or $log->push, return undef;
- $server->setport($attr{port})
- or $log->push, return undef;
- my($canon, $aliases) = gethostbyname($server->gethost);
- if (! defined($canon)) {
- $log->put("%s: unknown host", $server->gethost);
- return undef;
- }
- $server->setcanon($canon)
- or $log->push, return undef;
- $server->setaliases([ split(' ', $aliases) ])
- or $log->push, return undef;
- $server->add or
- $log->push, return undef;
- $log->put("added")->push($server)->debug;
- return $server;
-}
-
-# find matching servers
-
-sub match {
- my $class = shift;
- @_ == 3 or confess 0+@_;
- my($host, $port, $servers) = @_;
- if (! defined($port) && $host =~ /:/) {
- ($host, $port) = split(/:/, $host, 2);
- }
- $host =~ s/^\s+|\s+$//g;
- my($canon) = gethostbyname($host);
- unless (defined($canon)) {
- $log->put("$host: unknown host");
- return undef;
- }
- my $hostport = $host;
- if (defined($port)) {
- $port =~ s/^\s+|\s+$//g;
- $port =~ /\d+$/
- or $log->put("$port: non-numeric port"), return undef;
- $hostport .= ":$port";
- }
- my @server = ();
- for my $s (@$servers) {
- ($s->getdomain == PF_INET) || next;
- ($s->getcanon eq $canon) || next;
- ($port && $s->getport != $port) && next;
- push(@server, $s);
- }
- if (! @server) {
- $log->put("$hostport: no server found");
- }
- if (@server > 1) {
- $log->put("$hostport: multiple servers at ports ",
- join(' ', map($_->getport, @server)));
- }
- return \@server;
-}
-
-# client side
-
-sub connect {
- my $server = shift;
- @_ == 0 or confess 0+@_;
- my $socket;
- $socket = NDB::Util::SocketINET->new or
- $log->push, return undef;
- $socket->connect($server->gethost, $server->getport) or
- $log->push, return undef;
- return $socket;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerUNIX.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerUNIX.pm
deleted file mode 100644
index b3fa245d5ee..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Net/ServerUNIX.pm
+++ /dev/null
@@ -1,54 +0,0 @@
-package NDB::Net::ServerUNIX;
-
-use strict;
-use Carp;
-use Socket;
-
-require NDB::Net::Server;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Net::Server);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Net::ServerUNIX->attributes(
- path => sub { s/^\s+|\s+$//g; /^\S+$/ },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $server = $class->SUPER::new(%attr);
- $server->setid($attr{id})
- or $log->push, return undef;
- $server->setdomain(PF_UNIX)
- or $log->push, return undef;
- $server->setpath($attr{path})
- or $log->push, return undef;
- $server->add or
- $log->push, return undef;
- return $server;
-}
-
-# client side
-
-sub connect {
- my $server = shift;
- @_ == 0 or confess 0+@_;
- my $socket;
- $socket = NDB::Util::SocketUNIX->new or
- $log->push, return undef;
- $socket->connect($server->getpath) or
- $log->push, return undef;
- return $socket;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run.pm
deleted file mode 100644
index a8cabde544c..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run.pm
+++ /dev/null
@@ -1,40 +0,0 @@
-package NDB::Run;
-
-use strict;
-use Carp;
-require Exporter;
-
-use NDB::Net;
-
-use vars qw(@ISA @EXPORT @EXPORT_OK);
-@ISA = qw(Exporter);
-
-use vars qw(@modules);
-@modules = qw(
- NDB::Run::Base
- NDB::Run::Database
- NDB::Run::Env
- NDB::Run::Node
-);
-
-return 1 if $main::onlymodules;
-
-for my $module (@modules) {
- eval "require $module";
- $@ and confess "$module $@";
-}
-
-for my $module (@modules) {
- eval "$module->initmodule";
- $@ and confess "$module $@";
-}
-
-# methods
-
-sub getenv {
- my $class = shift;
- return NDB::Run::Env->new(@_);
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Base.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Base.pm
deleted file mode 100644
index 4769f2c4441..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Base.pm
+++ /dev/null
@@ -1,12 +0,0 @@
-package NDB::Run::Base;
-
-use strict;
-use Carp;
-
-require NDB::Util::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Base);
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Database.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Database.pm
deleted file mode 100644
index 9a12ddb20b3..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Database.pm
+++ /dev/null
@@ -1,89 +0,0 @@
-package NDB::Run::Database;
-
-use strict;
-use Carp;
-
-require NDB::Run::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Run::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Run::Database->attributes(
- name => sub { s/^\s+|\s+$//g; /^\S+$/ && ! m!/! },
- env => sub { ref && $_->isa('NDB::Run::Env') },
-);
-
-sub desc {
- my $db = shift;
- return $db->getname;
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $db = $class->SUPER::new(%attr);
- $db->setname($attr{name})
- or $log->push, return undef;
- $db->setenv($attr{env})
- or $log->push, return undef;
- return $db;
-}
-
-sub getnode {
- my $db = shift;
- @_ == 1 or croak q(usage: $node = $db->getnode($id));
- my($id) = @_;
- my $node = NDB::Run::Node->new(db => $db, id => $id)
- or $log->push, return undef;
- return $node;
-}
-
-# commands
-
-sub start {
- my $db = shift;
- my $opts = shift;
- my $argv = [ 'start', $db->getname, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $db->getenv->docmd($cmd);
- defined($ret)
- or $log->push, return undef;
- return $ret;
-}
-
-sub stop {
- my $db = shift;
- my $opts = shift;
- my $argv = [ 'stop', $db->getname, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $db->getenv->docmd($cmd);
- defined($ret)
- or $log->push, return undef;
- return $ret;
-}
-
-sub kill {
- my $db = shift;
- my $opts = shift;
- my $argv = [ 'kill', $db->getname, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $db->getenv->docmd($cmd);
- defined($ret)
- or $log->push, return undef;
- return $ret;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Env.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Env.pm
deleted file mode 100644
index e851a82636b..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Env.pm
+++ /dev/null
@@ -1,84 +0,0 @@
-package NDB::Run::Env;
-
-use strict;
-use Carp;
-
-require NDB::Run::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Run::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Run::Env->attributes(
- server => sub { ref && $_->isa('NDB::Net::Server') },
-);
-
-sub desc {
- "env";
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $env = $class->SUPER::new(%attr);
- return $env;
-}
-
-sub getdb {
- my $env = shift;
- @_ == 1 or croak q(usage: $db = $env->getdb($name));
- my($name) = @_;
- my $db = NDB::Run::Database->new(env => $env, name => $name)
- or $log->push, return undef;
- return $db;
-}
-
-# commands
-
-sub init {
- my $env = shift;
- my $netenv = NDB::Net::Env->instance;
- my $netcfg = NDB::Net::Config->new(file => $netenv->getnetcfg)
- or $log->push, return undef;
- $netcfg->load
- or $log->push, return undef;
- my $servers = $netcfg->getservers
- or $log->push, return undef;
- my $server;
- for my $s (@$servers) {
- if (! $s->testconnect) {
- $log->push->warn;
- next;
- }
- $server = $s;
- last;
- }
- if (! $server) {
- $log->put("no available server")->push($netcfg);
- return undef;
- }
- $env->setserver($server)
- or $log->push, return undef;
- $log->put("selected")->push($server)->info;
- return 1;
-}
-
-sub docmd {
- my $env = shift;
- my $cmd = shift;
- my $ret = $env->getserver->request($cmd);
- defined($ret)
- or $log->push, return undef;
- return $ret;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Node.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Node.pm
deleted file mode 100644
index e657021b229..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Run/Node.pm
+++ /dev/null
@@ -1,114 +0,0 @@
-package NDB::Run::Node;
-
-use strict;
-use Carp;
-
-require NDB::Run::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Run::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Run::Node->attributes(
- env => sub { ref && $_->isa('NDB::Run::Env') },
- db => sub { ref && $_->isa('NDB::Run::Database') },
- dbname => sub { s/^\s+|\s+$//g; /^\S+$/ && ! m!/! },
- id => sub { s/^\s+|\s+$//g; s/^0+(\d+)$/$1/; /^\d+$/ && $_ > 0 },
- type => sub { s/^\s+|\s+$//g; /^(mgmt|db|api)$/ },
-);
-
-sub desc {
- my $node = shift;
- my $dbname = $node->getdb->getname;
- my $id = $node->getid;
- my $type = "?"; # $node->gettype;
- return "$dbname.$id-$type";
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $node = $class->SUPER::new(%attr);
- $node->setdb($attr{db})
- or $log->push, return undef;
- $node->setenv($node->getdb->getenv)
- or $log->push, return undef;
- $node->setdbname($node->getdb->getname)
- or $log->push, return undef;
- $node->setid($attr{id})
- or $log->push, return undef;
-# $node->settype($attr{type})
-# or $log->push, return undef;
- return $node;
-}
-
-# commands
-
-sub start {
- my $node = shift;
- my $opts = shift;
- my $argv = [ 'startnode', $node->getdb->getname, $node->getid, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $node->getenv->docmd($cmd)
- or $log->push, return undef;
- return $ret;
-}
-
-sub stop {
- my $node = shift;
- my $opts = shift;
- my $argv = [ 'stopnode', $node->getdb->getname, $node->getid, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $node->getenv->docmd($cmd)
- or $log->push, return undef;
- return $ret;
-}
-
-sub kill {
- my $node = shift;
- my $opts = shift;
- my $argv = [ 'killnode', $node->getdb->getname, $node->getid, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $node->getenv->docmd($cmd)
- or $log->push, return undef;
- return $ret;
-}
-
-sub stat {
- my $node = shift;
- my $opts = shift;
- my $argv = [ 'statnode', $node->getdb->getname, $node->getid, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $node->getenv->docmd($cmd)
- or $log->push, return undef;
- return $ret;
-}
-
-sub write {
- my $node = shift;
- my $text = shift;
- my $opts = shift;
- my $argv = [ 'writenode', $node->getdb->getname, $node->getid, $text, $opts ];
- my $cmd = NDB::Net::Command->new(argv => $argv)
- or $log->push, return undef;
- my $ret = $node->getenv->docmd($cmd)
- or $log->push, return undef;
- ref($ret) eq 'HASH' && defined($ret->{output})
- or confess 'oops';
- return $ret;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util.pm
deleted file mode 100644
index d5db35cbf13..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util.pm
+++ /dev/null
@@ -1,37 +0,0 @@
-package NDB::Util;
-
-use strict;
-use Carp;
-require Exporter;
-
-use vars qw(@ISA @EXPORT @EXPORT_OK);
-@ISA = qw(Exporter);
-
-use vars qw(@modules);
-@modules = qw(
- NDB::Util::Base
- NDB::Util::Dir
- NDB::Util::Event
- NDB::Util::File
- NDB::Util::IO
- NDB::Util::Lock
- NDB::Util::Log
- NDB::Util::Socket
- NDB::Util::SocketINET
- NDB::Util::SocketUNIX
-);
-
-return 1 if $main::onlymodules;
-
-for my $module (@modules) {
- eval "require $module";
- $@ and confess "$module $@";
-}
-
-for my $module (@modules) {
- eval "$module->initmodule";
- $@ and confess "$module $@";
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Base.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Base.pm
deleted file mode 100644
index 20df78a3b9b..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Base.pm
+++ /dev/null
@@ -1,113 +0,0 @@
-package NDB::Util::Base;
-
-use strict;
-use Carp;
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-sub new {
- my $class = shift;
- my $this = bless {}, $class;
- return $this;
-}
-
-sub getlog {
- my $this = shift;
- return NDB::Util::Log->instance;
-}
-
-# clone an object
-# extra attributes override or delete (if value is undef)
-sub clone {
- my $this = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $that = bless {}, ref($this);
- for my $attr (sort keys %$this) {
- if (! exists($attr{$attr})) {
- my $get = "get$attr";
- $attr{$attr} = $this->$get();
- }
- }
- for my $attr (sort keys %attr) {
- if (defined($attr{$attr})) {
- my $set = "set$attr";
- $that->$set($attr{$attr});
- }
- }
- return $that;
-}
-
-# methods for member variables:
-# - set returns 1 on success and undef on undefined or invalid value
-# - get aborts unless value exists or a default (maybe undef) is given
-# - has tests existence of value
-# - del deletes the value and returns it (maybe undef)
-
-sub attributes {
- @_ % 2 == 1 or confess 0+@_;
- my $class = shift;
- my @attr = @_;
- while (@attr) {
- my $attr = shift @attr;
- my $filter = shift @attr;
- $attr =~ /^\w+$/ or confess $attr;
- ref($filter) eq 'CODE' or confess $attr;
- my $set = sub {
- @_ == 2 or confess "set$attr: arg count: @_";
- my $this = shift;
- my $value = shift;
- if (! defined($value)) {
- $log->put("set$attr: undefined value")->push($this);
- return undef;
- }
- local $_ = $value;
- if (! &$filter($this)) {
- $log->put("set$attr: invalid value: $value")->push($this);
- return undef;
- }
- $value = $_;
- if (! defined($value)) {
- confess "set$attr: changed to undef";
- }
- $this->{$attr} = $value;
- return 1;
- };
- my $get = sub {
- @_ == 1 || @_ == 2 or confess "get$attr: arg count: @_";
- my $this = shift;
- my $value = $this->{$attr};
- if (! defined($value)) {
- @_ == 0 and confess "get$attr: no value";
- $value = shift;
- }
- return $value;
- };
- my $has = sub {
- @_ == 1 or confess "has$attr: arg count: @_";
- my $this = shift;
- my $value = $this->{$attr};
- return defined($value);
- };
- my $del = sub {
- @_ == 1 or confess "del$attr: arg count: @_";
- my $this = shift;
- my $value = delete $this->{$attr};
- return $value;
- };
- no strict 'refs';
- *{"${class}::set$attr"} = $set;
- *{"${class}::get$attr"} = $get;
- *{"${class}::has$attr"} = $has;
- *{"${class}::del$attr"} = $del;
- }
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Dir.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Dir.pm
deleted file mode 100644
index 90609b971c7..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Dir.pm
+++ /dev/null
@@ -1,170 +0,0 @@
-package NDB::Util::Dir;
-
-use strict;
-use Carp;
-use Symbol;
-use Errno;
-use File::Basename;
-
-require NDB::Util::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::Dir->attributes(
- path => sub { length > 0 },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $dir = $class->SUPER::new(%attr);
- $dir->setpath($attr{path})
- or $log->push, return undef;
- return $dir;
-}
-
-sub desc {
- my $dir = shift;
- return $dir->getpath;
-}
-
-sub getparent {
- my $dir = shift;
- @_ == 0 or confess 0+@_;
- my $ppath = dirname($dir->getpath);
- my $pdir = NDB::Util::Dir->new(path => $ppath);
- return $pdir;
-}
-
-sub getdir {
- my $dir = shift;
- @_ == 1 or confess 0+@_;
- my($name) = @_;
- my $dirpath = $dir->getpath;
- my $path = $dirpath eq '.' ? $name : File::Spec->catfile($dirpath, $name);
- my $entry = NDB::Util::Dir->new(path => $path);
- return $entry;
-}
-
-sub getfile {
- my $dir = shift;
- @_ == 1 or confess 0+@_;
- my($name) = @_;
- my $dirpath = $dir->getpath;
- my $path = $dirpath eq '.' ? $name : File::Spec->catfile($dirpath, $name);
- my $entry = NDB::Util::File->new(path => $path);
- return $entry;
-}
-
-# list
-
-sub listdirs {
- my $dir = shift;
- @_ == 0 or confess 0+@_;
- my @list = ();
- my $dirpath = $dir->getpath;
- my $dh = gensym();
- if (! opendir($dh, $dirpath)) {
- $log->put("opendir failed: $!")->push($dir);
- return undef;
- }
- while (defined(my $name = readdir($dh))) {
- if ($name eq '.' || $name eq '..') {
- next;
- }
- my $path = $dirpath eq '.' ? $name : "$dirpath/$name";
- if (! -l $path && -d $path) {
- my $dir2 = NDB::Util::Dir->new(path => $path)
- or $log->push, return undef;
- push(@list, $dir2);
- }
- }
- close($dh);
- return \@list;
-}
-
-sub listfiles {
- my $dir = shift;
- @_ == 0 or confess 0+@_;
- my @list = ();
- my $dirpath = $dir->getpath;
- my $dh = gensym();
- if (! opendir($dh, $dirpath)) {
- $log->put("opendir failed: $!")->push($dir);
- return undef;
- }
- while (defined(my $name = readdir($dh))) {
- if ($name eq '.' || $name eq '..') {
- next;
- }
- my $path = $dirpath eq '.' ? $name : "$dirpath/$name";
- if (! -d $path && -e $path) {
- my $file2 = NDB::Util::File->new(path => $path)
- or $log->push, return undef;
- push(@list, $file2);
- }
- }
- close($dh);
- return \@list;
-}
-
-# create / remove
-
-sub mkdir {
- my $dir = shift;
- @_ == 0 or confess 0+@_;
- if (! -d $dir->getpath) {
- my $pdir = $dir->getparent;
- if (length($pdir->getpath) >= length($dir->getpath)) {
- $log->put("mkdir looping")->push($dir);
- return undef;
- }
- $pdir->mkdir or return undef;
- if (! mkdir($dir->getpath, 0777)) {
- my $errstr = "$!";
- if (-d $dir->getpath) {
- return 1;
- }
- $log->put("mkdir failed: $errstr")->push($dir);
- return undef;
- }
- }
- return 1;
-}
-
-sub rmdir {
- my $dir = shift;
- my $keep = shift; # keep top level
- $log->put("remove")->push($dir)->info;
- my $list;
- $list = $dir->listdirs or $log->push, return undef;
- for my $d (@$list) {
- $d->rmdir or $log->push, return undef;
- }
- $list = $dir->listfiles or $log->push, return undef;
- for my $f (@$list) {
- $f->unlink or $log->push, return undef;
- }
- if (! $keep && ! rmdir($dir->getpath)) {
- my $errstr = "$!";
- if (! -e $dir->getpath) {
- return 1;
- }
- $log->put("rmdir failed: $errstr")->push($dir);
- return undef;
- }
- return 1;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Event.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Event.pm
deleted file mode 100644
index a3ad32cd7fb..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Event.pm
+++ /dev/null
@@ -1,103 +0,0 @@
-package NDB::Util::Event;
-
-use strict;
-use Carp;
-use Errno;
-
-require NDB::Util::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::Event->attributes();
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $event = $class->SUPER::new(%attr);
- return $event;
-}
-
-# set and test bits
-
-sub check {
- my $event = shift;
- my($file, $type) = @_;
- my $fileno;
- if (ref($file) eq 'GLOB') {
- $fileno = fileno($file);
- }
- elsif (ref($file)) {
- $file->can("getfh") or confess 'oops';
- $fileno = fileno($file->getfh);
- }
- else {
- $fileno = $file;
- }
- defined($fileno) or confess 'oops';
- $fileno =~ s/^\s+|\s+$//g;
- $fileno =~ /^\d+$/ or confess 'oops';
- $type =~ /^[rwe]$/ or confess 'oops';
- return ($fileno, $type);
-}
-
-sub set {
- my $event = shift;
- @_ == 2 or confess 0+@_;
- my($fileno, $type) = $event->check(@_);
- vec($event->{"i_$type"}, $fileno, 1) = 1;
-}
-
-sub clear {
- my $event = shift;
- @_ == 2 or confess 0+@_;
- my($fileno, $type) = $event->check(@_);
- vec($event->{"i_$type"}, $fileno, 1) = 0;
-}
-
-sub test {
- my $event = shift;
- @_ == 2 or confess 0+@_;
- my($fileno, $type) = $event->check(@_);
- return vec($event->{"o_$type"}, $fileno, 1);
-}
-
-# poll
-
-sub poll {
- my $event = shift;
- @_ <= 1 or confess 'oops';
- my $timeout = shift;
- if (defined($timeout)) {
- $timeout =~ /^\d+$/ or confess 'oops';
- }
- $event->{o_r} = $event->{i_r};
- $event->{o_w} = $event->{i_w};
- $event->{o_e} = $event->{i_e};
- my $n;
- $n = select($event->{o_r}, $event->{o_w}, $event->{o_e}, $timeout);
- if ($n < 0 || ! defined($n)) {
- if ($! == Errno::EINTR) {
- $log->put("select interrupted");
- return 0;
- }
- $log->put("select failed: $!");
- return undef;
- }
- if (! $n) {
- $log->put("select timed out");
- }
- return $n;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/File.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/File.pm
deleted file mode 100644
index 4b3cb38191c..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/File.pm
+++ /dev/null
@@ -1,163 +0,0 @@
-package NDB::Util::File;
-
-use strict;
-use Carp;
-use Symbol;
-use Errno;
-use File::Basename;
-
-require NDB::Util::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::File->attributes(
- path => sub { length > 0 },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $file = $class->SUPER::new(%attr);
- $file->setpath($attr{path})
- or $log->push, return undef;
- return $file;
-}
-
-sub desc {
- my $file = shift;
- return $file->getpath;
-}
-
-sub getdir {
- my $file = shift;
- @_ == 0 or confess 0+@_;
- my $dirpath = dirname($file->getpath);
- my $dir = NDB::Util::Dir->new(path => $dirpath);
- return $dir;
-}
-
-sub getlock {
- my $file = shift;
- @_ == 0 or confess 0+@_;
- my $lock = NDB::Util::Lock->new(path => $file->getpath);
- return $lock;
-}
-
-sub getbasename {
- my $file = shift;
- @_ == 0 or confess 0+@_;
- return basename($file->getpath);
-}
-
-# make dir, unlink
-
-sub mkdir {
- my $file = shift;
- @_ == 0 or confess 0+@_;
- return $file->getdir->mkdir;
-}
-
-sub unlink {
- my $file = shift;
- @_ == 0 or confess 0+@_;
- $log->put("remove")->push($file)->debug;
- if (-e $file->getpath) {
- if (! unlink($file->getpath)) {
- my $errstr = "$!";
- if (! -e $file->getpath) {
- return 1;
- }
- $log->put("unlink failed: $errstr")->push($file);
- return undef;
- }
- }
- return 1;
-}
-
-# read /write
-
-sub open {
- my $file = shift;
- @_ == 1 or confess 0+@_;
- my($mode) = @_;
- my $fh = gensym();
- if (! open($fh, $mode.$file->getpath)) {
- $log->put("open$mode failed")->push($file);
- return undef;
- }
- my $io = NDB::Util::IO->new;
- $io->setfh($fh)
- or $log->push, return undef;
- return $io;
-}
-
-sub puttext {
- my $file = shift;
- @_ == 1 or confess 0+@_;
- my($text) = @_;
- ref($text) and confess 'oops';
- $file->mkdir
- or $log->push, return undef;
- $file->unlink
- or $log->push, return undef;
- my $io = $file->open(">")
- or $log->push, return undef;
- if (! $io->write($text)) {
- $log->push($file);
- $io->close;
- return undef;
- }
- if (! $io->close) {
- $log->push($file);
- return undef;
- }
- return 1;
-}
-
-sub putlines {
- my $file = shift;
- @_ == 1 or confess 0+@_;
- my($lines) = @_;
- ref($lines) eq 'ARRAY' or confess 'oops';
- my $text = join("\n", @$lines) . "\n";
- $file->puttext($text) or $log->push, return undef;
- return 1;
-}
-
-sub copyedit {
- my $file1 = shift;
- @_ == 2 or confess 0+@_;
- my($file2, $edit) = @_;
- my $io1 = $file1->open("<")
- or $log->push, return undef;
- my $io2 = $file2->open(">")
- or $log->push, return undef;
- local $_;
- my $fh1 = $io1->getfh;
- my $fh2 = $io2->getfh;
- my $line = 0;
- while (defined($_ = <$fh1>)) {
- $line++;
- if (! &$edit()) {
- $log->push("line $line")->push($file1);
- return undef;
- }
- print $fh2 $_;
- }
- $io1->close;
- $io2->close;
- return 1;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/IO.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/IO.pm
deleted file mode 100644
index 34f4d0a150d..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/IO.pm
+++ /dev/null
@@ -1,213 +0,0 @@
-package NDB::Util::IO;
-
-use strict;
-use Carp;
-
-require NDB::Util::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Base);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::IO->attributes(
- readbuf => sub { defined },
- readend => sub { defined },
- writebuf => sub { defined },
- writeend => sub { defined },
- iosize => sub { $_ > 0 },
- timeout => sub { /^\d+$/ },
- fh => sub { ref($_) eq 'GLOB' && defined(fileno($_)) },
-);
-
-sub desc {
- my $io = shift;
- my $fileno = $io->hasfh ? fileno($io->getfh) : -1;
- return "fd=$fileno";
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $io = $class->SUPER::new(%attr);
- $io->setreadbuf("")
- or $log->push, return undef;
- $io->setreadend(0)
- or $log->push, return undef;
- $io->setwritebuf("")
- or $log->push, return undef;
- $io->setwriteend(0)
- or $log->push, return undef;
- $io->setiosize(1024)
- or $log->push, return undef;
- $io->settimeout(0)
- or $log->push, return undef;
- if (defined($attr{fh})) {
- $io->setfh($attr{fh})
- or $log->push, return undef;
- }
- return $io;
-}
-
-# input / output
-
-sub read {
- my $io = shift;
- @_ == 0 or confess 0+@_;
- if ($io->getreadend) {
- return "";
- }
- my $size = $io->getiosize;
- my $timeout = $io->hastimeout ? $io->gettimeout : 0;
- my $fh = $io->getfh;
- my $n;
- my $data;
- eval {
- if ($^O ne 'MSWin32' && $timeout > 0) {
- local $SIG{ALRM} = sub { die("timed out\n") };
- alarm($timeout);
- $n = sysread($fh, $data, $size);
- alarm(0);
- }
- else {
- $n = sysread($fh, $data, $size);
- }
- };
- if ($@) {
- $log->put("read error: $@")->push($io);
- return undef;
- }
- if (! defined($n)) {
- $log->put("read failed: $!")->push($io);
- return undef;
- }
- if ($n == 0) {
- $io->setreadend(1)
- or $log->push, return undef;
- $log->put("read EOF")->push($io)->debug;
- return "";
- }
- (my $show = $data) =~ s!\n!\\n!g;
- $log->put("read: $show")->push($io)->debug;
- return $data;
-}
-
-sub readbuf {
- my $io = shift;
- @_ == 0 or confess 0+@_;
- my $data = $io->read;
- defined($data) or
- $log->push, return undef;
- if (length($data) == 0) {
- return 0;
- }
- $io->setreadbuf($io->getreadbuf . $data)
- or $log->push, return undef;
- return 1;
-}
-
-sub readupto {
- my $io = shift;
- @_ == 1 or confess 0+@_;
- my($code) = @_;
- ref($code) eq 'CODE' or confess 'oops';
- my $k = &$code($io->getreadbuf);
- if (! defined($k)) {
- $log->push($io);
- return undef;
- }
- if ($k == 0) {
- my $n = $io->readbuf;
- defined($n) or
- $log->push, return undef;
- if ($n == 0) {
- if ($io->getreadbuf eq "") {
- return "";
- }
- $log->put("incomplete input: %s", $io->getreadbuf)->push($io);
- return undef;
- }
- $k = &$code($io->getreadbuf);
- if (! defined($k)) {
- $log->push($io);
- return undef;
- }
- if ($k == 0) {
- return "";
- }
- }
- my $head = substr($io->getreadbuf, 0, $k);
- my $tail = substr($io->getreadbuf, $k);
- $io->setreadbuf($tail)
- or $log->push, return undef;
- return $head;
-}
-
-sub readline {
- my $io = shift;
- @_ == 0 or confess 0+@_;
- my $code = sub {
- my $i = index($_[0], "\n");
- return $i < 0 ? 0 : $i + 1;
- };
- return $io->readupto($code);
-}
-
-sub write {
- my $io = shift;
- @_ == 1 or confess 0+@_;
- my($data) = @_;
- my $timeout = $io->hastimeout ? $io->gettimeout : 0;
- my $fh = $io->getfh;
- (my $show = $data) =~ s!\n!\\n!g;
- $log->put("write: $show")->push($io)->debug;
- my $n;
- my $size = length($data);
- eval {
- local $SIG{PIPE} = sub { die("broken pipe\n") };
- if ($^O ne 'MSWin32' && $timeout > 0) {
- local $SIG{ALRM} = sub { die("timed out\n") };
- alarm($timeout);
- $n = syswrite($fh, $data, $size);
- alarm(0);
- }
- else {
- $n = syswrite($fh, $data, $size);
- }
- };
- if ($@) {
- $log->put("write error: $@")->push($io);
- return undef;
- }
- if (! defined($n)) {
- $log->put("write failed: $!")->push($io);
- return undef;
- }
- if ($n > $size) {
- $log->put("impossible write: $n > $size")->push($io);
- return undef;
- }
- if ($n != $size) { # need not be error
- $log->put("short write: $n < $size")->push($io);
- }
- return $n;
-}
-
-sub close {
- my $io = shift;
- @_ == 0 or confess 0+@_;
- if (! close($io->delfh)) {
- $log->put("close failed: $!")->push($io);
- return undef;
- }
- return 1;
-}
-
-1;
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Lock.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Lock.pm
deleted file mode 100644
index b515e633059..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Lock.pm
+++ /dev/null
@@ -1,136 +0,0 @@
-package NDB::Util::Lock;
-
-use strict;
-use Carp;
-use Symbol;
-use Fcntl qw(:flock);
-use Errno;
-use File::Basename;
-
-require NDB::Util::File;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::File);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::Lock->attributes(
- pid => sub { $_ != 0 },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $lock = $class->SUPER::new(%attr);
- return $lock;
-}
-
-sub desc {
- my $lock = shift;
- return $lock->getpath;
-}
-
-# test / set
-
-sub test {
- my $lock = shift;
- @_ == 0 or confess 0+@_;
- my $fh = gensym();
- if (! open($fh, "+<$lock->{path}")) {
- if ($! != Errno::ENOENT) {
- $log->put("$lock->{path}: open failed: $!");
- return undef;
- }
- return 0; # file does not exist
- }
- if (flock($fh, LOCK_EX|LOCK_NB)) {
- close($fh);
- return 0; # file was not locked
- }
- if ($^O eq 'MSWin32') {
- close($fh);
- if (! open($fh, "<$lock->{path}x")) {
- $log->put("$lock->{path}x: open failed: $!");
- return undef;
- }
- }
- my $pid = <$fh>;
- close($fh);
- ($pid) = split(' ', $pid);
- if ($pid+0 == 0) {
- $log->put("$lock->{path}: locked but pid='$pid' is zero");
- return undef;
- }
- $lock->{pid} = $pid;
- return 1; # file was locked
-}
-
-sub set {
- my $lock = shift;
- @_ == 0 or confess 0+@_;
- my $fh = gensym();
- if (! open($fh, "+<$lock->{path}")) {
- if ($! != Errno::ENOENT) {
- $log->put("$lock->{path}: open failed: $!");
- return undef;
- }
- close($fh);
- if (! open($fh, ">$lock->{path}")) {
- $log->put("$lock->{path}: create failed: $!");
- return undef;
- }
- }
- if (! flock($fh, LOCK_EX|LOCK_NB)) {
- $log->put("$lock->{path}: flock failed: $!");
- close($fh);
- return 0; # file was probably locked
- }
- my $line = "$$\n";
- if ($^O eq 'MSWin32') {
- my $gh = gensym();
- if (! open($gh, ">$lock->{path}x")) {
- $log->put("$lock->{path}x: open for write failed: $!");
- close($fh);
- return undef;
- }
- if (! syswrite($gh, $line)) {
- close($fh);
- close($gh);
- $log->put("$lock->{path}x: write failed: $!");
- return undef;
- }
- close($gh);
- } else {
- if (! truncate($fh, 0)) {
- close($fh);
- $log->put("$lock->{path}: truncate failed: $!");
- return undef;
- }
- if (! syswrite($fh, $line)) {
- close($fh);
- $log->put("$lock->{path}: write failed: $!");
- return undef;
- }
- }
- $lock->{fh} = $fh;
- return 1; # file is now locked by us
-}
-
-sub close {
- my $lock = shift;
- @_ == 0 or confess 0+@_;
- my $fh = delete $lock->{fh};
- if ($fh) {
- close($fh);
- }
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Log.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Log.pm
deleted file mode 100644
index 44b39df84e6..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Log.pm
+++ /dev/null
@@ -1,367 +0,0 @@
-package NDB::Util::Log;
-
-use strict;
-use Carp;
-use Symbol;
-use Data::Dumper ();
-
-require NDB::Util::Base;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Base);
-
-# constructors
-
-my $instance = undef;
-my %attached = ();
-
-my %priolevel = qw(user 0 fatal 1 error 2 warn 3 notice 4 info 5 debug 6);
-my %partlist = qw(time 1 pid 2 prio 3 text 4 line 5);
-
-NDB::Util::Log->attributes(
- prio => sub { defined($priolevel{$_}) },
- parts => sub { ref eq 'HASH' },
- stack => sub { ref eq 'ARRAY' },
- io => sub { ref && $_->isa('NDB::Util::IO') },
- active => sub { defined },
- censor => sub { ref eq 'ARRAY' },
-);
-
-sub setpart {
- my $log = shift;
- @_ % 2 == 0 or confess 0+@_;
- while (@_) {
- my $part = shift;
- my $onoff = shift;
- $partlist{$part} or confess 'oops';
- $log->getparts->{$part} = $onoff;
- }
-}
-
-sub getpart {
- my $log = shift;
- @_ == 1 or confess 0+@_;
- my($part) = @_;
- $partlist{$part} or confess 'oops';
- return $log->getparts->{$part};
-}
-
-sub instance {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- if (! $instance) {
- $instance = $class->SUPER::new(%attr);
- $instance->setprio(q(info));
- $instance->setparts({ text => 1 });
- $instance->setstack([]);
- $instance->setcensor([]);
- my $io = NDB::Util::IO->new(fh => \*STDERR, %attr)
- or confess 'oops';
- $instance->setio($io);
- }
- return $instance;
-}
-
-# attached logs are written in parallel to main log
-# user log is a special server-to-client log
-
-sub attach {
- my $log = shift;
- @_ % 2 == 1 or confess 0+@_;
- my($key, %attr) = @_;
- $attached{$key} and confess 'oops';
- my $alog = $attached{$key} = $log->clone(%attr);
- return $alog;
-}
-
-sub detach {
- my $log = shift;
- @_ == 1 or confess 0+@_;
- my($key) = @_;
- $attached{$key} or return undef;
- my $alog = delete $attached{$key};
- return $alog;
-}
-
-sub attachuser {
- my $log = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- %attr = (
- prio => q(user),
- parts => { text => 1 },
- censor => [ qw(NDB::Net::Client NDB::Util::IO) ],
- %attr);
- my $alog = $log->attach(q(user), %attr);
- return $alog;
-}
-
-sub detachuser {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- my $alog = $log->detach(q(user));
- return $alog;
-}
-
-# input / output
-
-sub setfile {
- my $log = shift;
- @_ == 1 or confess 0+@_;
- my $file = shift;
- if (! open(STDOUT, ">>$file")) {
- $log->put("$file: open for append failed: $!");
- return undef;
- }
- select(STDOUT);
- $| = 1;
- open(STDERR, ">&STDOUT");
- select(STDERR);
- $| = 1;
- return 1;
-}
-
-sub close {
- my $log = shift;
- $log->getio->close;
-}
-
-sub closeall {
- my $class = shift;
- for my $key (sort keys %attached) {
- my $log = $attached{$key};
- $log->close;
- }
- $instance->close;
-}
-
-# private
-
-sub entry {
- my $log = shift;
- my($clear, $file, $line, @args) = @_;
- $file =~ s!^.*\bNDB/!!;
- $file =~ s!^.*/bin/([^/]+)$!$1!;
- my $text = undef;
- if (@args) {
- $text = shift(@args);
- if (! ref($text)) {
- if (@args) {
- $text = sprintf($text, @args);
- }
- while (chomp($text)) {}
- }
- }
- if ($clear) {
- $#{$log->getstack} = -1;
- }
- push(@{$log->getstack}, {
- line => "$file($line)",
- text => $text,
- });
-}
-
-sub matchlevel {
- my $log = shift;
- my $msgprio = shift;
- my $logprio = $log->getprio;
- my $msglevel = $priolevel{$msgprio};
- my $loglevel = $priolevel{$logprio};
- defined($msglevel) && defined($loglevel)
- or confess 'oops';
- if ($msglevel == 0 && $loglevel == 0) {
- return $msgprio eq $logprio;
- }
- if ($msglevel == 0 && $loglevel != 0) {
- return $loglevel >= $priolevel{q(info)};
- }
- if ($msglevel != 0 && $loglevel == 0) {
- return $msglevel <= $priolevel{q(notice)};
- }
- if ($msglevel != 0 && $loglevel != 0) {
- return $msglevel <= $loglevel;
- }
- confess 'oops';
-}
-
-sub print {
- my $log = shift;
- @_ == 2 or confess 0+@_;
- my($prio, $tmpstack) = @_;
- if ($log->hasactive) { # avoid recursion
- return;
- }
- if (! $log->matchlevel($prio)) {
- return;
- }
- $log->setactive(1);
- my @text = ();
- if ($log->getpart(q(time))) {
- my @t = localtime(time);
- push(@text, sprintf("%02d-%02d/%02d:%02d:%02d",
- 1+$t[4], $t[3], $t[2], $t[1], $t[0]));
- }
- if ($log->getpart(q(pid))) {
- push(@text, "[$$]");
- }
- if ($log->getpart(q(prio)) &&
- (0 == $priolevel{$prio} || $priolevel{$prio} <= $priolevel{notice}))
- {
- push(@text, "[$prio]");
- }
- if ($log->getpart(q(text))) {
- my @stack = @$tmpstack;
- while (@stack) {
- my $s = pop(@stack);
- my $text = $s->{text};
- if (ref($text)) {
- if (grep($text->isa($_), @{$log->getcensor})) {
- next;
- }
- $text = $text->desc;
- }
- push(@text, $text) if length($text) > 0;
- }
- }
- if ($log->getpart(q(line)) &&
- (0 < $priolevel{$prio} && $priolevel{$prio} <= $priolevel{warn}))
- {
- push(@text, "at");
- my @stack = @$tmpstack;
- while (@stack) {
- my $s = shift(@stack);
- defined($s->{line}) or confess 'oops';
- if ($text[-1] ne $s->{line}) {
- push(@text, $s->{line});
- }
- }
- }
- $log->getio->write("@text\n");
- $log->delactive;
-}
-
-sub printall {
- my $log = shift;
- @_ == 1 or confess 0+@_;
- my($prio) = @_;
- my $logstack = $log->getstack;
- if (! @$logstack) {
- $log->put("[missing log message]");
- }
- my @tmpstack = ();
- while (@$logstack) {
- push(@tmpstack, shift(@$logstack));
- }
- for my $key (sort keys %attached) {
- my $alog = $attached{$key};
- $alog->print($prio, \@tmpstack);
- }
- $instance->print($prio, \@tmpstack);
-}
-
-# public
-
-sub push {
- my $log = shift;
- my(@args) = @_;
- my($pkg, $file, $line) = caller;
- $log->entry(0, $file, $line, @args);
- return $log;
-}
-
-sub put {
- my $log = shift;
- my(@args) = @_;
- my($pkg, $file, $line) = caller;
- $log->entry(1, $file, $line, @args);
- return $log;
-}
-
-sub fatal {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- $log->printall(q(fatal));
- exit(1);
-}
-
-sub error {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- $log->printall(q(error));
- return $log;
-}
-
-sub warn {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- $log->printall(q(warn));
- return $log;
-}
-
-sub notice {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- $log->printall(q(notice));
- return $log;
-}
-
-sub info {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- $log->printall(q(info));
- return $log;
-}
-
-sub debug {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- $log->printall(q(debug));
- return $log;
-}
-
-sub user {
- my $log = shift;
- @_ == 0 or confess 0+@_;
- $log->printall(q(user));
- return $log;
-}
-
-# return values from server to client
-
-sub putvalue {
- my $log = shift;
- @_ == 1 or confess 0+@_;
- my($value) = @_;
- my $d = Data::Dumper->new([$value], [qw($value)]);
- $d->Indent(0);
- $d->Useqq(1);
- my $dump = $d->Dump;
- $dump =~ /^\s*\$value\s*=\s*(.*);\s*$/ or confess $dump;
- $log->push("[value $1]");
-}
-
-sub hasvalue {
- my $log = shift;
- @_ == 1 or confess 0+@_;
- my($line) = @_;
- return $line =~ /\[value\s+(.*)\]/;
-}
-
-sub getvalue {
- my $log = shift;
- @_ == 1 or confess 0+@_;
- my($line) = @_;
- $line =~ /\[value\s+(.*)\]/ or confess $line;
- my $expr = $1;
- my($value);
- eval "\$value = $expr";
- if ($@) {
- $log->put("$line: eval error: $@");
- return undef;
- }
- return [$value];
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Socket.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Socket.pm
deleted file mode 100644
index 00e8b6eca51..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/Socket.pm
+++ /dev/null
@@ -1,158 +0,0 @@
-package NDB::Util::Socket;
-
-use strict;
-use Carp;
-use Symbol;
-use Socket;
-use Errno;
-
-require NDB::Util::IO;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::IO);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::Socket->attributes(
- domain => sub { $_ == PF_INET || $_ == PF_UNIX },
- type => sub { $_ == SOCK_STREAM },
- proto => sub { /^(0|tcp)$/ },
-);
-
-sub desc {
- my $socket = shift;
- return $socket->SUPER::desc;
-}
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $socket = $class->SUPER::new(%attr);
- $socket->setdomain($attr{domain})
- or $log->push, return undef;
- $socket->settype($attr{type})
- or $log->push, return undef;
- $socket->setproto($attr{proto})
- or $log->push, return undef;
- my $nproto;
- if ($socket->getproto =~ /^\d+/) {
- $nproto = $socket->getproto;
- }
- else {
- $nproto = getprotobyname($socket->getproto);
- unless (defined($nproto)) {
- $log->put("%s: getprotobyname failed", $socket->getproto);
- return undef;
- }
- }
- my $fh = gensym();
- if (! socket($fh, $socket->getdomain, $socket->gettype, $nproto)) {
- $log->put("create socket failed: $!");
- return undef;
- }
- $socket->setfh($fh)
- or $log->push, return undef;
- return $socket;
-}
-
-sub setopt {
- my $socket = shift;
- @_ >= 2 or confess 'oops';
- my $level = shift;
- my $optname = shift;
- my $optval = @_ ? pack("l*", @_) : undef;
- my $fh = $socket->getfh;
- if (! setsockopt($fh, $level, $optname, $optval)) {
- $log->put("setsockopt failed: $!")->push($socket);
- return undef;
- }
- return 1;
-}
-
-sub connect {
- my $socket = shift;
- @_ == 1 or confess 0+@_;
- my($paddr) = @_;
- my $fh = $socket->getfh;
- if (! connect($fh, $paddr)) {
- $log->put("connect failed: $!")->push($socket);
- return undef;
- }
- $log->put("connect done")->push($socket)->debug;
- return 1;
-}
-
-sub bind {
- my $socket = shift;
- @_ == 1 or confess 0+@_;
- my($paddr) = @_;
- my $fh = $socket->getfh;
- if (! bind($fh, $paddr)) {
- $log->put("bind failed: $!")->push($socket);
- return undef;
- }
- return 1;
-}
-
-sub listen {
- my $socket = shift;
- @_ == 0 or confess 0+@_;
- my $fh = $socket->getfh;
- if (! listen($fh, SOMAXCONN)) {
- $log->put("listen failed: $!")->push($socket);
- return undef;
- }
- return 1;
-}
-
-sub accept {
- my $socket = shift;
- @_ == 1 or confess 0+@_;
- my($timeout) = @_;
- $timeout =~ /^\d+$/ or confess 'oops';
- my $fh = $socket->getfh;
- my $gh = gensym();
- my $paddr;
- eval {
- if ($^O ne 'MSWin32' && $timeout > 0) {
- local $SIG{ALRM} = sub { die("timed out\n") };
- alarm($timeout);
- $paddr = accept($gh, $fh);
- alarm(0);
- }
- else {
- $paddr = accept($gh, $fh);
- }
- };
- if ($@) {
- $log->put("accept failed: $@")->push($socket);
- return undef;
- }
- if (! $paddr) {
- my $errno = 0+$!;
- if ($errno == Errno::EINTR) {
- $log->put("accept interrupted")->push($socket);
- return 0;
- }
- $log->put("accept failed: $!")->push($socket);
- return undef;
- }
- my $csocket = $socket->clone(fh => $gh);
- $csocket->acceptaddr($paddr);
- return $csocket;
-}
-
-sub DESTROY {
- my $socket = shift;
- $socket->close;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketINET.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketINET.pm
deleted file mode 100644
index faaa568a08e..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketINET.pm
+++ /dev/null
@@ -1,86 +0,0 @@
-package NDB::Util::SocketINET;
-
-use strict;
-use Carp;
-use Symbol;
-use Socket;
-use Errno;
-
-require NDB::Util::Socket;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Socket);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::SocketINET->attributes(
- host => sub { /^\S+$/ },
- port => sub { /^\d+$/ },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $socket = $class->SUPER::new(%attr,
- domain => PF_INET, type => SOCK_STREAM, proto => 'tcp')
- or $log->push, return undef;
- return $socket;
-}
-
-sub connect {
- my $socket = shift;
- @_ == 2 or confess 0+@_;
- my($host, $port) = @_;
- $port =~ /^\d+$/ or confess 'oops';
- my $iaddr = inet_aton($host);
- if (! $iaddr) {
- $log->put("host $host not found")->push($socket);
- return undef;
- }
- my $paddr = pack_sockaddr_in($port, $iaddr);
- $socket->SUPER::connect($paddr)
- or $log->push, return undef;
- $socket->sethost($host)
- or $log->push, return undef;
- $socket->setport($port)
- or $log->push, return undef;
- return 1;
-}
-
-sub bind {
- my $socket = shift;
- @_ == 1 or confess 0+@_;
- my($port) = @_;
- $port =~ /^\d+$/ or confess 'oops';
- my $paddr = pack_sockaddr_in($port, INADDR_ANY);
- $socket->SUPER::bind($paddr)
- or $log->push, return undef;
- $socket->setport($port)
- or $log->push, return undef;
- return 1;
-}
-
-sub acceptaddr {
- my $csocket = shift;
- @_ == 1 or confess 0+@_;
- my($paddr) = @_;
- my($port, $iaddr) = unpack_sockaddr_in($paddr);
- my $host = gethostbyaddr($iaddr, AF_INET);
- $csocket->sethost($host)
- or $log->push, return undef;
- $csocket->setport($port)
- or $log->push, return undef;
- $log->put("accept: host=%s port=%d",
- $csocket->gethost, $csocket->getport)->push($csocket)->debug;
- return 1;
-}
-
-1;
-# vim:set sw=4:
diff --git a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketUNIX.pm b/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketUNIX.pm
deleted file mode 100644
index 9c6b3115f6a..00000000000
--- a/storage/ndb/tools/old_dirs/ndbnet/lib/NDB/Util/SocketUNIX.pm
+++ /dev/null
@@ -1,76 +0,0 @@
-package NDB::Util::SocketUNIX;
-
-use strict;
-use Carp;
-use Symbol;
-use Socket;
-use Errno;
-
-require NDB::Util::Socket;
-
-use vars qw(@ISA);
-@ISA = qw(NDB::Util::Socket);
-
-# constructors
-
-my $log;
-
-sub initmodule {
- $log = NDB::Util::Log->instance;
-}
-
-NDB::Util::SocketUNIX->attributes(
- path => sub { /^\S+$/ },
-);
-
-sub new {
- my $class = shift;
- @_ % 2 == 0 or confess 0+@_;
- my(%attr) = @_;
- my $socket = $class->SUPER::new(%attr,
- domain => PF_UNIX, type => SOCK_STREAM, proto => 0)
- or $log->push, return undef;
- return $socket;
-}
-
-sub connect {
- my $socket = shift;
- @_ == 1 or confess 0+@_;
- my($path) = @_;
- $path =~ /^\S+$/ or confess 'oops';
- my $paddr = pack_sockaddr_un($path);
- $socket->SUPER::connect($paddr)
- or $log->push, return undef;
- $socket->setpath($path)
- or $log->push, return undef;
- return 1;
-}
-
-sub bind {
- my $socket = shift;
- @_ == 1 or confess 0+@_;
- my($path) = @_;
- $path =~ /^\S+$/ or confess 'oops';
- my $paddr = pack_sockaddr_un($path);
- $socket->SUPER::bind($paddr)
- or $log->push, return undef;
- $socket->setpath($path)
- or $log->push, return undef;
- return 1;
-}
-
-sub acceptaddr {
- my $csocket = shift;
- @_ == 1 or confess 0+@_;
- my($paddr) = @_;
- return 1; # crash
- my $path = unpack_sockaddr_un($paddr);
- $csocket->setpath($path)
- or $log->push, return undef;
- $log->put("%s accept: path=%s",
- $csocket->getpath)->push($csocket)->debug;
- return 1;
-}
-
-1;
-# vim:set sw=4: