Coder Social home page Coder Social logo

Comments (12)

jcubic avatar jcubic commented on July 22, 2024 1

No rush and great work on the tool.

from gitql.

filhodanuvem avatar filhodanuvem commented on July 22, 2024

Hey @amitu ,
I think that the main goal of gitql is make queries on git repositories. If we put a feature about export to sqlite, it will loss that goal because the query language would be from sqlite. Maybe create other project
looks better.
When I started to code this, I thought to follow that strategy, but one of the problems is that you always would need to sync the database before run queries and maybe it would causes a bad experience.

What do you thought about this problem?

from gitql.

amitu avatar amitu commented on July 22, 2024

The in memory db was to avoid the problem of resyncing. With in memory db its more like git log | less, the content displayed in pager won't change, it will be a snapshot, and on next call it would be the latest snapshot.

The very first thing I tried after installing gitql was to do a group by author, and realised group by doesn't work.

It would be vary challenging task to keep the query language be full featured, so passing to sqlite would be a good idea instead of reimplementing every SQL nuance.

from gitql.

luizperes avatar luizperes commented on July 22, 2024

how long would gitql spend to fill in the database in the case of in memory db, @amitu?

from gitql.

amitu avatar amitu commented on July 22, 2024

It will depend on the size of the repository. It will take almost the same time as git log does.

from gitql.

luizperes avatar luizperes commented on July 22, 2024

We could also try to implement memoization together with taking the latest snapshot. Sounds promising, but we gotta study its viability and speed

from gitql.

jcubic avatar jcubic commented on July 22, 2024

I've create small script in python that export git log to sqlite database file:

https://gist.github.com/jcubic/0c7ccae5d764ff61788fc626096e5688

so maybe you can use it instead of implementing option to export to sqlite in gitql.

from gitql.

jcubic avatar jcubic commented on July 22, 2024

and it's pretty fast, it was only slow when I print the log when debugging so if you will import export in gitql it shouldn't be slow.

from gitql.

luizperes avatar luizperes commented on July 22, 2024

That is cool! I will take a look at that later, as I think that our priority for now would be fixing the small bugs on gitql. Only then we could start working on that. What do you think @jcubic ?

from gitql.

filhodanuvem avatar filhodanuvem commented on July 22, 2024

Do you guys think that this is something needed in the tool? As we can show the results as a json, if someone need to that, they can use the json as an input to another script.
If we move on, our domain will change a lot, we will start thinking in different database drivers, for example.

from gitql.

filhodanuvem avatar filhodanuvem commented on July 22, 2024

Well. I'm closing this for now based that gitql should not connects with real databases, we can reopen it to think in other tool like jcubic did. Thank you for all the suggestions.

from gitql.

jsixface avatar jsixface commented on July 22, 2024

I agree. But do you think, we can have export to a CSV file. Most databases support exporting a query to a csv file; easier for sharing data to humans. JSON is good for sharing data with other apps, which we already have.

from gitql.

Related Issues (20)

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.