Comments (12)
No rush and great work on the tool.
from gitql.
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.
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.
how long would gitql spend to fill in the database in the case of in memory db, @amitu?
from gitql.
It will depend on the size of the repository. It will take almost the same time as git log
does.
from gitql.
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.
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.
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.
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.
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.
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.
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)
- Bug: select * from remotes fails HOT 1
- Feature idea: Include more nice badges on top of README? HOT 1
- Improve code coverage HOT 1
- "Show databases" feature
- "Use" feature
- Error when using `distinct` HOT 3
- Set Up Dependabot HOT 4
- Bug: Application panics on query with double quotes HOT 6
- Refactor: Change visibility of methods, structs and variables HOT 5
- Bug: Git stash entries listed as commits HOT 3
- Bug: Functional tests do not run on windows VM HOT 2
- Refactor: Make a literal/constant tokens map HOT 2
- Benchmarks
- Is count supported? HOT 4
- Error on parsing
- Use default $GOPATH if it's not set
- owner in remotes table HOT 4
- feature request:publish windows build binary HOT 3
- Static binary release HOT 8
- Functional tests
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gitql.