My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Featured
Downloads
Links

NO LONGER UNDER ACTIVE DEVELOPMENT

http://code.google.com/p/shard-query/ is the preferred (and actively maintained) tool for accomplishing this goal

omnisql is a command line tool for DBAs needing to issue ad-hoc queries against sharded data.

Instead of logging in separately to multiple databases to issue the same query, groups of databases can be specified in a configuration file and queries will be automatically issued against all MySQL instances.

System Requirements

Required perl Modules:

  • Pod::Usage
  • Getopt::Long
  • XML::SimpleObject
  • DBI
  • DBD::mysql
  • Term::ReadLine
  • DBIx::MyParsePP
  • LWP::Simple

Sample Usage:

%> omnisql --help
Usage:
     omnisql [options] group

     Options:
       --config=<path_to_file> The config file to use
       --help                  Display this help and exit.
       --list-groups           List the available groups from the config file.
       --print-defaults        Print the program argument list and exit.
       --version               Output version information and exit.
       group                   The group (as defined in the config file)
                               against which to issue the queries

     defaults are:

     ATTRIBUTE                  VALUE
     -------------------------- ------------------
     config                     /etc/omnisql.cnf
     help                       FALSE
     list-groups                FALSE 
     print-defaults             FALSE
     version                    FALSE

Package Contents

  • README: Instructions for installation and usage
  • RELEASE_HISTORY: Change log for all current & past versions
  • omnisql.cnf.example: Sample configuration file
  • omnisql: The executable perl script

Change Log v0.0.7 (Current Version)

0.0.7 - 28 October 2008

  - Fixed Bug #3: Script failure when only one group is defined
  - Fixed Bug #4: Too Slow (now it forks)
  - Fixed Bug #5: Host-Specific parameters don't work
  - INCOMPATIBLE CHANGE: Changed format of config file
  - INCOMPATIBLE CHANGE: Use XML::SimpleObject instead of XML::Simple
  - Added group summary (Issue #6)

0.0.6 - 13 August 2008

  - Fixed Bug #1: Multiple databases on the same host
  - Fixed Bug #2: Multiple queries from STDIN
  - Changed XML format of omnisql.cnf
  - Added a README to show how to install and use

0.0.5 - 30 July 2008

  - Added the --list-groups command-line option
  - Updated Documentation
  - Added a version check on startup
  - Changed the project name to OmniSQL
  - Added support for piping commands through STDIN

0.0.4 - 18 June 2008

  - BUGFIXES: #3 & #4 - Essentially improper error handling

0.0.3 - 15 June 2008

  * Migration from SQL::Parser to DBIx::MyParsePP

0.0.2 - 02 May 2008

  * Uses Term::ReadLine to enable a .omnimysql_history file
  * Fixed issue #1, a hard coded database name in the connection string
  * Added the --print-defaults command line option
  * Added the --version command line option
  * Can now use SSL to connect to MySQL
 
0.0.1 - 29 March 2008

  * Initial Release

Project Roadmap

  • Custom prefixes for group result-set handling (SUM, COUNT, etc...)

Contact/Feedback

Feel free to email me rlowe@pablowe.net with bug reports or feature requests.

Other Projects

Powered by Google Project Hosting