Giter Club home page Giter Club logo

dbcrawler's People

Contributors

palashkulsh avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

dbcrawler's Issues

manage white spaces in constraints

actor_info.actor_id=actor.actor_id,film.film_id=film_actor.film_id is valid

but
actor_info.actor_id=actor.actor_id, film.film_id=film_actor.film_id is not valid. This is due to white space trimming not considered while parsing.

dbcrawler getting stuck when getting huge quantity of rows for a query

The main reason behind dbcrawler getting stuck is that each input generated is being checked/deep equaled to every other input that has been generated till now. This acts as a failsafe for circular queries or preventing same insert statement /data being generated twice or more time in final output.

For eg if row 1 of table a is generated twice due to some dependency then two same insert statments will be generated .This will cause the conflict when inserting (due to duplicate keys).

insert statement too long

If the values retrieved for single select are too much then insert statement generated is too long as it generates the insert statement of the type "insert into table (columns...) values (first set of values),(2nd set of values),(3rd set of values)... and so on. Last list of values leads to sql being oversized and hence throwing error

not able to read generated schema file from /tmp directory

The crawler is not able to read the generated schema file from /tmp directory because the sql module is not present in tmp module. It can read the schema file from inside the scope where sql is present.

[Error: not able to read generated schema file Error: Cannot find module 'sql']

handle dbcrawler working on windows

There can be issues related to dbcrawler not working on windows system. The apparent reasons being

  1. there is no tmp directory in windows where the schema can be generated as a fallback option.

scout for more windows related issues

manage white space trimming while parsing seed data

White space in seed data "actor.actor_id=3;actor.actor_id=4;film_actor.actor_id=5" throws error in dbcrawler . For eg. actor.actor_id=3;actor.actor_id=4; film_actor.actor_id = 5 will throw error as white space is not considered while parsing seed data.

remove defaults from commander

Defaults from commander and other places should be removed as they wont run on any other system except mine (because database is not installed on it). and all the config parameters must be made compulsory

path to grammar being resolved incorrectly

path to grammar files present in lib are being resolved incorrectly as lib is being resolved to current available lib path path. May be using ./lib/grammar files will solve the problem

provide port support for input options

along with host and other information of database provide port option too so that if database is available at non standard port like 3307 instead of 3306 then it can be supplied by the user

show dumping progress indicator

showing work progress on the screen assures the user that something is being done and that the program has not hung itself

handle empty string in constraints as well as seed

giving input on commandline as [-c "" ] gives the error

message: 'Parse error on line 1:\n\n^\nExpecting 'STRING_LIT', got 'EOF'',
hash:
{ text: '',
token: 'EOF',
line: 0,
loc: { first_line: 1, first_column: 0, last_line: 1, last_column: 0 },
expected: [ ''STRING_LIT'' ] } }

accept running crawler without constraints

when running dbcrawler the output must be the dump of only the given seed data.
2 things should be kept in mind

  1. running without constraints must be allowed by requiring
  2. running without constraints must allowed from command line

feature to pass configurations parameters from command line

To run the crawler we have to pass/change the parameters from the file itself. Feature to pass changeable parameters from command line also will make the task of running the program easier.
So database parameters like host,password,database,user can be passed from command line .

Also crawling constraints can also be allowed to pass from command line though passing them from commandline would require extra parsing step or some other way to specify them.

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.