
Reqlite – A RethinkDB ReQL server written in JavaScript - neumino
https://github.com/neumino/reqlite
======
inglor
This sounds like a fun experiment but it looks very far from something I can
actually use in development to test against:
[https://github.com/neumino/reqlite/blob/master/lib/range.js#...](https://github.com/neumino/reqlite/blob/master/lib/range.js#L12-L13)
[https://github.com/neumino/reqlite/blob/master/lib/range.js#...](https://github.com/neumino/reqlite/blob/master/lib/range.js#L4)
[https://github.com/neumino/reqlite/blob/master/lib/group.js#...](https://github.com/neumino/reqlite/blob/master/lib/group.js#L6)
[https://github.com/neumino/reqlite/blob/master/lib/maxval.js...](https://github.com/neumino/reqlite/blob/master/lib/maxval.js#L4)
[https://github.com/neumino/reqlite/blob/master/lib/table.js#...](https://github.com/neumino/reqlite/blob/master/lib/table.js#L23)
[https://github.com/neumino/reqlite/blob/master/lib/table.js#...](https://github.com/neumino/reqlite/blob/master/lib/table.js#L219)
and so on

~~~
neumino
Author here, these TODOs are just to make my life easier. r.range has some
limitations now though.

It should be pretty hard to make a query fail beside the issues currently
opened.

------
jakozaur
Looks cool.

Looks like you did the hardest part of preparing new database for Meteor.
Meteor pretty much requires JavaScript implementation of database. Having
that, you can create some alternative to MongoDB.

Keep up great work!

~~~
imslavko
Hello, I worked at a RethinkDB integration for Meteor
([https://github.com/Slava/meteor-rethinkdb](https://github.com/Slava/meteor-
rethinkdb)) for a week as my "hack" project.

I must say, there seems to be a lot of work to be done, before we can call
this implementation "stable" for kind of quality bar Minimongo
([https://github.com/meteor/meteor/tree/devel/packages/minimon...](https://github.com/meteor/meteor/tree/devel/packages/minimongo))
has in Meteor. It is not uncommon to see Reqlite queries to fail because of
simple bugs.

Not to say that the library is hopeless, Neumino did a lot of grunt work that
makes it easy to test and contribute. See this thread where we discuss the
missing functionality:
[https://github.com/neumino/reqlite/issues/3](https://github.com/neumino/reqlite/issues/3)

~~~
neumino
Try the new master, it's pretty good now :)

------
egeozcan
I love RethinkDB and this looks like a great idea for testing. A lite ReQL
implementation (just satisfying the API requirements, with little to none
performance tuning) in something like C, though, would be even better for
embedding purposes. You know, the biggest selling point of SQLite isn't that
it makes testing easy, but that it's easy to embed.

Single-binary tool with an embedded RethinkDB, syncing with a master instance
when it's connected to the internet - one can dream.

~~~
adamfeldman
Can something like this be done with CouchDB and PouchDB? (CouchDB JS
implementation – [http://pouchdb.com/](http://pouchdb.com/))

~~~
scoot
Yes, in a few lines of code:

    
    
        const PouchDB = require('pouchdb');
        const localDB = new PouchDB('db');
        const remoteDB = new PouchDB('http://192.168.1.100:5984/db');
        // remote db can be a CouchDB or PouchDB server.
    
        localDB.sync(remoteDB);
    

I'm using this with React for a mobile app that works offline, and syncs up
when a connection is available.

------
cmdrfred
Pretty cool idea, all we need is a JS OS and the entire stack can be JS.

------
thesorrow
How the data are persisted ?

~~~
neumino
It doesn't sync to disk yet but it's planned.

