Merge lp:~vjsamuel/drizzle/new-config-file-system into lp:~drizzle-trunk/drizzle/development

Proposed by Vijay Samuel
Status: Merged
Approved by: Monty Taylor
Approved revision: 1673
Merged at revision: 1677
Proposed branch: lp:~vjsamuel/drizzle/new-config-file-system
Merge into: lp:~drizzle-trunk/drizzle/development
Diff against target: 275 lines (+77/-35)
5 files modified
client/drizzle.cc (+15/-6)
client/drizzledump.cc (+14/-6)
client/drizzleimport.cc (+14/-5)
client/drizzleslap.cc (+20/-12)
client/drizzletest.cc (+14/-6)
To merge this branch: bzr merge lp:~vjsamuel/drizzle/new-config-file-system
Reviewer Review Type Date Requested Status
Monty Taylor Approve
Review via email: mp+31417@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Monty Taylor (mordred) wrote :

Looks great. Thanks for fixing that for me!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'client/drizzle.cc'
--- client/drizzle.cc 2010-06-19 16:36:52 +0000
+++ client/drizzle.cc 2010-07-30 19:39:47 +0000
@@ -9,7 +9,7 @@
9 * (at your option) any later version.9 * (at your option) any later version.
10 *10 *
11 * This program is distributed in the hope that it will be useful,11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of12 * but WITHOUT ANY WARRANTY; without even the implied warranty ofm
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.14 * GNU General Public License for more details.
15 *15 *
@@ -65,6 +65,7 @@
65#include <sys/ioctl.h>65#include <sys/ioctl.h>
66#include <drizzled/configmake.h>66#include <drizzled/configmake.h>
67#include "drizzled/utf8/utf8.h"67#include "drizzled/utf8/utf8.h"
68#include <cstdlib>
6869
69#if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)70#if defined(HAVE_CURSES_H) && defined(HAVE_TERM_H)
70#include <curses.h>71#include <curses.h>
@@ -1488,6 +1489,8 @@
1488 std::string system_config_dir_client(SYSCONFDIR); 1489 std::string system_config_dir_client(SYSCONFDIR);
1489 system_config_dir_client.append("/drizzle/client.cnf");1490 system_config_dir_client.append("/drizzle/client.cnf");
14901491
1492 std::string user_config_dir((getenv("XDG_CONFIG_HOME")? getenv("XDG_CONFIG_HOME"):"~/.config"));
1493
1491 po::variables_map vm;1494 po::variables_map vm;
14921495
1493 po::positional_options_description p;1496 po::positional_options_description p;
@@ -1498,14 +1501,20 @@
14981501
1499 if (! vm["no-defaults"].as<bool>())1502 if (! vm["no-defaults"].as<bool>())
1500 {1503 {
1501 ifstream user_drizzle_ifs("~/.drizzle/drizzle.cnf");1504 std::string user_config_dir_drizzle(user_config_dir);
1505 user_config_dir_drizzle.append("/drizzle/drizzle.cnf");
1506
1507 std::string user_config_dir_client(user_config_dir);
1508 user_config_dir_client.append("/drizzle/client.cnf");
1509
1510 ifstream user_drizzle_ifs(user_config_dir_drizzle.c_str());
1502 po::store(parse_config_file(user_drizzle_ifs, drizzle_options), vm);1511 po::store(parse_config_file(user_drizzle_ifs, drizzle_options), vm);
1503 1512
1513 ifstream user_client_ifs(user_config_dir_client.c_str());
1514 po::store(parse_config_file(user_client_ifs, client_options), vm);
1515
1504 ifstream system_drizzle_ifs(system_config_dir_drizzle.c_str());1516 ifstream system_drizzle_ifs(system_config_dir_drizzle.c_str());
1505 store(parse_config_file(system_drizzle_ifs, drizzle_options), vm);1517 store(parse_config_file(system_drizzle_ifs, drizzle_options), vm);
1506
1507 ifstream user_client_ifs("~/.drizzle/client.cnf");
1508 po::store(parse_config_file(user_client_ifs, client_options), vm);
1509 1518
1510 ifstream system_client_ifs(system_config_dir_client.c_str());1519 ifstream system_client_ifs(system_config_dir_client.c_str());
1511 po::store(parse_config_file(system_client_ifs, client_options), vm);1520 po::store(parse_config_file(system_client_ifs, client_options), vm);
15121521
=== modified file 'client/drizzledump.cc'
--- client/drizzledump.cc 2010-06-24 10:30:53 +0000
+++ client/drizzledump.cc 2010-07-30 19:39:47 +0000
@@ -2590,6 +2590,8 @@
2590 std::string system_config_dir_client(SYSCONFDIR); 2590 std::string system_config_dir_client(SYSCONFDIR);
2591 system_config_dir_client.append("/drizzle/client.cnf");2591 system_config_dir_client.append("/drizzle/client.cnf");
25922592
2593 std::string user_config_dir((getenv("XDG_CONFIG_HOME")? getenv("XDG_CONFIG_HOME"):"~/.config"));
2594
2593 po::positional_options_description p;2595 po::positional_options_description p;
2594 p.add("database-used", 1);2596 p.add("database-used", 1);
2595 p.add("Table-used",-1);2597 p.add("Table-used",-1);
@@ -2605,15 +2607,21 @@
26052607
2606 if (! vm.count("no-defaults"))2608 if (! vm.count("no-defaults"))
2607 {2609 {
2608 ifstream user_dump_ifs("~/.drizzle/drizzledump.cnf");2610 std::string user_config_dir_dump(user_config_dir);
2611 user_config_dir_dump.append("/drizzle/drizzledump.cnf");
2612
2613 std::string user_config_dir_client(user_config_dir);
2614 user_config_dir_client.append("/drizzle/client.cnf");
2615
2616 ifstream user_dump_ifs(user_config_dir_dump.c_str());
2609 po::store(parse_config_file(user_dump_ifs, dump_options), vm);2617 po::store(parse_config_file(user_dump_ifs, dump_options), vm);
2610 2618
2619 ifstream user_client_ifs(user_config_dir_client.c_str());
2620 po::store(parse_config_file(user_client_ifs, client_options), vm);
2621
2611 ifstream system_dump_ifs(system_config_dir_dump.c_str());2622 ifstream system_dump_ifs(system_config_dir_dump.c_str());
2612 store(parse_config_file(system_dump_ifs, dump_options), vm);2623 po::store(parse_config_file(system_dump_ifs, dump_options), vm);
26132624
2614 ifstream user_client_ifs("~/.drizzle/client.cnf");
2615 po::store(parse_config_file(user_client_ifs, client_options), vm);
2616
2617 ifstream system_client_ifs(system_config_dir_client.c_str());2625 ifstream system_client_ifs(system_config_dir_client.c_str());
2618 po::store(parse_config_file(system_client_ifs, client_options), vm);2626 po::store(parse_config_file(system_client_ifs, client_options), vm);
2619 }2627 }
26202628
=== modified file 'client/drizzleimport.cc'
--- client/drizzleimport.cc 2010-06-21 11:59:50 +0000
+++ client/drizzleimport.cc 2010-07-30 19:39:47 +0000
@@ -468,18 +468,27 @@
468 std::string system_config_dir_client(SYSCONFDIR); 468 std::string system_config_dir_client(SYSCONFDIR);
469 system_config_dir_client.append("/drizzle/client.cnf");469 system_config_dir_client.append("/drizzle/client.cnf");
470 470
471 std::string user_config_dir((getenv("XDG_CONFIG_HOME")? getenv("XDG_CONFIG_HOME"):"~/.config"));
472
471 po::variables_map vm;473 po::variables_map vm;
474
472 po::store(po::command_line_parser(argc, argv).options(long_options).475 po::store(po::command_line_parser(argc, argv).options(long_options).
473 extra_parser(parse_password_arg).run(), vm);476 extra_parser(parse_password_arg).run(), vm);
474477
475 ifstream user_import_ifs("~/.drizzle/drizzleimport.cnf");478 std::string user_config_dir_import(user_config_dir);
479 user_config_dir_import.append("/drizzle/drizzleimport.cnf");
480
481 std::string user_config_dir_client(user_config_dir);
482 user_config_dir_client.append("/drizzle/client.cnf");
483
484 ifstream user_import_ifs(user_config_dir_import.c_str());
476 po::store(parse_config_file(user_import_ifs, import_options), vm);485 po::store(parse_config_file(user_import_ifs, import_options), vm);
477 486
487 ifstream user_client_ifs(user_config_dir_client.c_str());
488 po::store(parse_config_file(user_client_ifs, client_options), vm);
489
478 ifstream system_import_ifs(system_config_dir_import.c_str());490 ifstream system_import_ifs(system_config_dir_import.c_str());
479 store(parse_config_file(system_import_ifs, import_options), vm);491 store(parse_config_file(system_import_ifs, import_options), vm);
480
481 ifstream user_client_ifs("~/.drizzle/client.cnf");
482 po::store(parse_config_file(user_client_ifs, client_options), vm);
483 492
484 ifstream system_client_ifs(system_config_dir_client.c_str());493 ifstream system_client_ifs(system_config_dir_client.c_str());
485 po::store(parse_config_file(system_client_ifs, client_options), vm);494 po::store(parse_config_file(system_client_ifs, client_options), vm);
486495
=== modified file 'client/drizzleslap.cc'
--- client/drizzleslap.cc 2010-06-21 11:59:50 +0000
+++ client/drizzleslap.cc 2010-07-30 19:39:47 +0000
@@ -848,9 +848,9 @@
848848
849 * long_options is the union of commandline_options, slap_options and client_options.849 * long_options is the union of commandline_options, slap_options and client_options.
850850
851 * There are two configuration files per set of options, one which is defined by the user and851 * There are two configuration files per set of options, one which is defined by the user
852 * which is found at ~/.drizzle directory and the other which is the system configuration852 * which is found at either $XDG_CONFIG_HOME/drizzle or ~/.config/drizzle directory and the other which
853 * file which is found in the SYSCONFDIR/drizzle directory.853 * is the system configuration file which is found in the SYSCONFDIR/drizzle directory.
854854
855 * The system configuration file is over ridden by the user's configuration file which855 * The system configuration file is over ridden by the user's configuration file which
856 * in turn is over ridden by the command line.856 * in turn is over ridden by the command line.
@@ -979,6 +979,8 @@
979 std::string system_config_dir_client(SYSCONFDIR); 979 std::string system_config_dir_client(SYSCONFDIR);
980 system_config_dir_client.append("/drizzle/client.cnf");980 system_config_dir_client.append("/drizzle/client.cnf");
981981
982 std::string user_config_dir((getenv("XDG_CONFIG_HOME")? getenv("XDG_CONFIG_HOME"):"~/.config"));
983
982 uint64_t temp_drizzle_port= 0;984 uint64_t temp_drizzle_port= 0;
983 drizzle_con_st con;985 drizzle_con_st con;
984 OptionString *eptr;986 OptionString *eptr;
@@ -989,15 +991,21 @@
989 po::store(po::command_line_parser(argc, argv).options(long_options).991 po::store(po::command_line_parser(argc, argv).options(long_options).
990 extra_parser(parse_password_arg).run(), vm);992 extra_parser(parse_password_arg).run(), vm);
991993
992 ifstream user_slap_ifs("~/.drizzle/drizzleslap.cnf");994 std::string user_config_dir_slap(user_config_dir);
995 user_config_dir_slap.append("/drizzle/drizzleslap.cnf");
996
997 std::string user_config_dir_client(user_config_dir);
998 user_config_dir_client.append("/drizzle/client.cnf");
999
1000 ifstream user_slap_ifs(user_config_dir_slap.c_str());
993 po::store(parse_config_file(user_slap_ifs, slap_options), vm);1001 po::store(parse_config_file(user_slap_ifs, slap_options), vm);
9941002
1003 ifstream user_client_ifs(user_config_dir_client.c_str());
1004 po::store(parse_config_file(user_client_ifs, client_options), vm);
1005
995 ifstream system_slap_ifs(system_config_dir_slap.c_str());1006 ifstream system_slap_ifs(system_config_dir_slap.c_str());
996 store(parse_config_file(system_slap_ifs, slap_options), vm);1007 store(parse_config_file(system_slap_ifs, slap_options), vm);
9971008
998 ifstream user_client_ifs("~/.drizzle/client.cnf");
999 po::store(parse_config_file(user_client_ifs, client_options), vm);
1000
1001 ifstream system_client_ifs(system_config_dir_client.c_str());1009 ifstream system_client_ifs(system_config_dir_client.c_str());
1002 store(parse_config_file(system_client_ifs, client_options), vm);1010 store(parse_config_file(system_client_ifs, client_options), vm);
10031011
@@ -1006,7 +1014,7 @@
1006 if (process_options())1014 if (process_options())
1007 exit(1);1015 exit(1);
10081016
1009 if( vm.count("help") || vm.count("info"))1017 if ( vm.count("help") || vm.count("info"))
1010 {1018 {
1011 printf("%s Ver %s Distrib %s, for %s-%s (%s)\n",internal::my_progname, SLAP_VERSION,1019 printf("%s Ver %s Distrib %s, for %s-%s (%s)\n",internal::my_progname, SLAP_VERSION,
1012 drizzle_version(),HOST_VENDOR,HOST_OS,HOST_CPU);1020 drizzle_version(),HOST_VENDOR,HOST_OS,HOST_CPU);
@@ -1015,11 +1023,11 @@
1015 \nand you are welcome to modify and redistribute it under the GPL \1023 \nand you are welcome to modify and redistribute it under the GPL \
1016 license\n");1024 license\n");
1017 puts("Run a query multiple times against the server\n");1025 puts("Run a query multiple times against the server\n");
1018 cout<<long_options<<endl;1026 cout << long_options << endl;
1019 exit(0);1027 exit(0);
1020 } 1028 }
10211029
1022 if(vm.count("port")) 1030 if (vm.count("port"))
1023 {1031 {
1024 temp_drizzle_port= vm["port"].as<uint32_t>();1032 temp_drizzle_port= vm["port"].as<uint32_t>();
10251033
@@ -1034,7 +1042,7 @@
1034 }1042 }
1035 }1043 }
10361044
1037 if( vm.count("password") )1045 if ( vm.count("password") )
1038 {1046 {
1039 if (!opt_password.empty())1047 if (!opt_password.empty())
1040 opt_password.erase();1048 opt_password.erase();
@@ -1055,7 +1063,7 @@
10551063
10561064
10571065
1058 if( vm.count("version") )1066 if ( vm.count("version") )
1059 {1067 {
1060 printf("%s Ver %s Distrib %s, for %s-%s (%s)\n",internal::my_progname, SLAP_VERSION,1068 printf("%s Ver %s Distrib %s, for %s-%s (%s)\n",internal::my_progname, SLAP_VERSION,
1061 drizzle_version(),HOST_VENDOR,HOST_OS,HOST_CPU);1069 drizzle_version(),HOST_VENDOR,HOST_OS,HOST_CPU);
10621070
=== modified file 'client/drizzletest.cc'
--- client/drizzletest.cc 2010-07-06 04:22:48 +0000
+++ client/drizzletest.cc 2010-07-30 19:39:47 +0000
@@ -5380,7 +5380,7 @@
5380{5380{
5381 if (in_opt_sleep < -1)5381 if (in_opt_sleep < -1)
5382 {5382 {
5383 cout<<N_("Error: Invalid Value for opt_sleep"); 5383 cout << N_("Error: Invalid Value for opt_sleep");
5384 exit(-1);5384 exit(-1);
5385 }5385 }
5386 opt_sleep= in_opt_sleep;5386 opt_sleep= in_opt_sleep;
@@ -5476,6 +5476,8 @@
5476 std::string system_config_dir_client(SYSCONFDIR); 5476 std::string system_config_dir_client(SYSCONFDIR);
5477 system_config_dir_client.append("/drizzle/client.cnf");5477 system_config_dir_client.append("/drizzle/client.cnf");
54785478
5479 std::string user_config_dir((getenv("XDG_CONFIG_HOME")? getenv("XDG_CONFIG_HOME"):"~/.config"));
5480
5479 po::variables_map vm;5481 po::variables_map vm;
54805482
5481 po::store(po::command_line_parser(argc, argv).options(long_options).5483 po::store(po::command_line_parser(argc, argv).options(long_options).
@@ -5483,15 +5485,21 @@
54835485
5484 if (! vm["no-defaults"].as<bool>())5486 if (! vm["no-defaults"].as<bool>())
5485 {5487 {
5486 ifstream user_test_ifs("~/.drizzle/drizzletest.cnf");5488 std::string user_config_dir_test(user_config_dir);
5489 user_config_dir_test.append("/drizzle/drizzletest.cnf");
5490
5491 std::string user_config_dir_client(user_config_dir);
5492 user_config_dir_client.append("/drizzle/client.cnf");
5493
5494 ifstream user_test_ifs(user_config_dir_test.c_str());
5487 po::store(parse_config_file(user_test_ifs, test_options), vm);5495 po::store(parse_config_file(user_test_ifs, test_options), vm);
5488 5496
5497 ifstream user_client_ifs(user_config_dir_client.c_str());
5498 po::store(parse_config_file(user_client_ifs, client_options), vm);
5499
5489 ifstream system_test_ifs(system_config_dir_test.c_str());5500 ifstream system_test_ifs(system_config_dir_test.c_str());
5490 store(parse_config_file(system_test_ifs, test_options), vm);5501 store(parse_config_file(system_test_ifs, test_options), vm);
54915502
5492 ifstream user_client_ifs("~/.drizzle/client.cnf");
5493 po::store(parse_config_file(user_client_ifs, client_options), vm);
5494
5495 ifstream system_client_ifs(system_config_dir_client.c_str());5503 ifstream system_client_ifs(system_config_dir_client.c_str());
5496 po::store(parse_config_file(system_client_ifs, client_options), vm);5504 po::store(parse_config_file(system_client_ifs, client_options), vm);
5497 }5505 }