mkilling / goejdb Goto Github PK
View Code? Open in Web Editor NEWGolang bindings for Softmotions/ejdb
License: GNU Lesser General Public License v2.1
Golang bindings for Softmotions/ejdb
License: GNU Lesser General Public License v2.1
Hi On performing go get github.com/mkilling/goejdb
I get
../../go/src/github.com/mkilling/goejdb/ejcoll.go:4:24: fatal error: ejdb/ejdb.h: No such file or directory
// #include <ejdb/ejdb.h>
Is there any way to fix this
i am trying to build a golang-project containing ejdb on a raspberry pi (even tried qemu + raspbian)
When exectuing
go get github.com/mkilling/goejdb
im getting this error:
.../github.com/mkilling/goejdb/ejcoll.go:124: type [2147483647]_Ctype_bson larger than address space
.../github.com/mkilling/goejdb/ejcoll.go:124: type [2147483647]_Ctype_bson too large
i am not sure what causes this.
I'm trying to build on Ubuntu (Linux precise64 3.2.0-23-generic) and I get the following errors:
# github.com/mkilling/goejdb
./ejcoll.go:37: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbsavebson
./ejcoll.go:69: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbrmbson
./ejcoll.go:77: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbloadbson
./ejcoll.go:131: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbupdate
./ejcoll.go:162: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbsetindex
./ejcoll.go:171: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbtranbegin
./ejcoll.go:180: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbtrancommit
./ejcoll.go:189: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbtranabort
./ejcoll.go:199: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbtranstatus
./ejcoll.go:205: cannot use coll.ptr (type *[0]byte) as type *C.struct_EJCOLL in argument to _Cfunc_ejdbsyncoll
./ejcoll.go:205: too many errors
I'm using the latest version of ejdb:
git clone [email protected]:Softmotions/ejdb.git
cd ejdb
make
sudo make -C ./tcejdb install
Are these go bindings supposed to work with the latest ejdb?
Am I missing something obvious?
Thanks for any help you can provide!
Please add support of ejdbcommand()
to the Go binding.
It is generic command api allowing the execution of arbitrary database commands, e.g. import/export operations.
https://github.com/Softmotions/ejdb/blob/master/tcejdb/ejdb.h#L599
Calling GetColl
when a collection doesn't exist returns no error and a valid Collection.
If I insert some data to a collection, and then later try to open that database, it tells me there are no collections.
In my case I have an importer.go that inserts some data (converts from another db system, because I wanted to try Ejdb). When I run my main program afterwards, and open the database, there's nothing in it, even though the file(s) "dbname" and "dbname.collection" are both stored in the same directory.
If I query the database during the same program run, by adding something like coll.Find(...) after the importer code in importer.go, it works.
I've tried running jb.Sync(), BeginTransaction and CommitTransaction, but none of them seem to make any difference.
Is this a bug, or am I missing something?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.