Quoth Jan Mercl:
> First stable release for linux/amd64. The database/sql driver and its tests are
> CGo free. Tests of the translated sqlite3.c library still require CGo.
This is really cool, congratulations!
I'm now going to ask some really ignorant questions, so sorry for
that!
I took a little tour around the code, am I correct in thinking that
it's mostly a clever translation of the C code to Go, using
generator.go? What is 'ccgo' that seems to be doing all this? I see
that lib/sqlite_linux_amd64.go is created by the makeSqlite()
function, but is the capi_linux_amd64.go file generated from the
same command? Sorry, but I don't yet understand this ccgo thing.
Am I correct in thinking that this implementation, now it passes all
the tests, should be essentially a drop-in replacement for something
like
github.com/mattn/go-sqlite3, with similar performance as it's
just translated-from-C? What happens if one (erroneously) tries to
build a project that uses this library, using a non-supported
architecture? Will go complain?
Thanks, anyway, looks very cool, I look forward to learning more!
Nick