Giter Site home page Giter Site logo

rsql's People

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

lavnishl

rsql's Issues

refactor recipes

consider removing (deprecating) register and just simply use introspection of the methods to determine those that were loaded after those part of the normal eval class

probably work best as a new class (eval_context) and replace existing class (eval_runner)

Make mysql queries interruptable.

Wrap calling of mysql query in a thread to make it interruptable (might need to re-establish a connection if it's stopped but expected a reply...look at the source).

add ability to "describe" recipes

It would be nice to be able to see a recipe's body from the command line like you can with "desc

". In other words, to see what a recipe will do.

add global column value mappings

add ability for user to define a global mapping of column names to bang evaluaters so the same columns will always call the bangs to convert content even without the bang explicitly stated (e.g. always use relative_time when the LastUpdateTime column is seen in any query) -- also consider if there should be ways to regex match the column

unable to use safe_save directly on @results

fixme:

rsql> .list_abnormal_nodes  | safe_save(@results, 'abnormal');
can't convert Hash into Integer
/usr/lib/ruby/1.8/yaml.rb:389:in `hash'
/usr/lib/ruby/1.8/yaml.rb:389:in `quick_emit'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:107:in `to_yaml'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:18:in `node_export'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:18:in `add'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:18:in `to_yaml'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:17:in `each'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:17:in `to_yaml'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:16:in `map'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:16:in `to_yaml'
/usr/lib/ruby/1.8/yaml.rb:391:in `call'
/usr/lib/ruby/1.8/yaml.rb:391:in `emit'
/usr/lib/ruby/1.8/yaml.rb:391:in `quick_emit'
/usr/lib/ruby/1.8/yaml/rubytypes.rb:15:in `to_yaml'
/usr/lib/ruby/1.8/yaml.rb:117:in `dump'

make sql recipes real methods

change registrations so that they are real methods that can be invoked from anywhere instead of just outputs of sql (i.e. so i can call info_by_ip and expect it to run the query from another recipe, might need to consider what it does -- i.e. should it simply return the mysql results, shoudl it display the results? etc)

Fix overlap in rsql and command parsing.

Fix overlap of functionality between getting input in rsql and parsing input in commands.rb (e.g. they both duplicate the concepts of looking for exit/quit as well as what the end character(s) should be)

handle ruby command parsing cleaner

fix so that if the command is a ruby command, the semicolons don't need to be escaped, it just looks for the last one or something (not sure how to deal with multiline enter case)

rsql> . a ||= {};
undefined local variable or method `a' for #<RSQL::EvalContext:0x7ee351ec>
in `safe_eval': compile error
 syntax error, unexpected '=', expecting kEND
begin;= {}

support more displayers

For example, it should be fairly straightforward to produce output in YAML, JSON, or XML based on what Ruby libraries are available on the running system. Only require them if requested to use them for output. This would make sense for batch runs as well as an attribute of a recipe or even at runtime so that it can be piped to a recipe for handling.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.