Commit Graph

906 Commits

Author SHA1 Message Date
David Anderson b037a61690 Add support for interface{} arguments in Go SQLite functions.
This enabled support for functions like Foo(a interface{}) and
Bar(a ...interface{}).
2015-08-21 17:12:18 -07:00
David Anderson 566f63a43a Implement support for variadic functions.
Currently, the variadic part must all be the same type, because there's
no "generic" arg converter.
2015-08-21 16:38:23 -07:00
David Anderson 122ddb16de Move argument converters to callback.go, and optimize return value handling.
A call now doesn't have to do any reflection, it just blindly invokes
a bunch of argument and return value handlers to execute the translation,
and the safety of the translation is determined at registration time.
2015-08-21 16:37:45 -07:00
David Anderson cf8fa0af80 Implement support for passing Go functions as custom functions to SQLite.
Fixes #226.
2015-08-21 13:39:50 -07:00
mattn 8897bf1452 Merge pull request #228 from whiter4bbit/added_icu_support
added icu extension support
2015-08-20 09:54:08 +09:00
Pavel Zalunin 715f5e5de0 added icu extension support 2015-08-20 03:02:59 +03:00
mattn 3dc190a017 Merge pull request #227 from gmarik/patch-1
remove duplicated Close
2015-08-17 08:47:45 +09:00
gmarik 94efba9292 remove duplicated Close
since there's one already at line 51
2015-08-16 16:39:53 -04:00
mattn 0fa27b5cb0 Merge pull request #225 from kiwih/master
Fix for go-sqlite3 truncating 64-bit lastInsertIDs on 32-bit systems
2015-08-07 12:25:09 +09:00
kiwih 6b4ee3cb4f Add fix for go-sqlite3 truncating 64-bit integers when compiled by 32-bit mingw-gcc on windows by converting 'long' variable types to 'long long' in sqlite3.go 2015-08-07 15:13:52 +12:00
Yasuhiro Matsumoto b4142c444a update README.md 2015-06-30 08:57:28 +09:00
Yasuhiro Matsumoto ee9da4840d hack to use libsqlite3
$ go build -tags "libsqlite3 windows"
2015-06-12 13:26:42 +09:00
Lars Buitinck 1ae6ca764d Cosmetics: use WaitGroup instead of channel in test 2015-06-05 16:38:51 +02:00
Lars Buitinck 5674e19d05 Test read-only databases 2015-06-05 16:38:51 +02:00
Lars Buitinck a3efcea001 Clean up more tempfiles 2015-06-05 16:38:51 +02:00
Lars Buitinck 90505effc7 Fix doc comment 2015-06-05 16:38:51 +02:00
Lars Buitinck cebbf42ff6 Get reliable tempfile names from ioutil.TempFile
Also makes them easier to spot (the tests tend to litter /tmp).
2015-06-05 16:38:51 +02:00
Yasuhiro Matsumoto 542ae647f8 remove -lpthread. related issue #201 2015-04-28 08:58:25 +09:00
Yasuhiro Matsumoto f136f0c8dc Remove debug code 2015-04-15 16:27:00 +09:00
Yasuhiro Matsumoto dee1a37fe1 Z suffix should be no-op 2015-04-15 16:26:27 +09:00
mattn 5f64400729 Merge pull request #194 from hallyn/tximm.2
Add a txlock option when opening databases
2015-04-14 09:12:54 +09:00
Serge Hallyn f91a09fb50 Add a txlock option when opening databases (v2)
When specified, changes the default locking at a tx.Begin.

Changelog (v2):
	Add a testcase to ensure _txlock is properly handled.

Closes #189

Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com>
2015-04-13 11:48:01 -05:00
mattn 13671e4dd3 Merge pull request #196 from egonelbre/fix-nullstring
Fix NULs in text.
2015-04-13 11:55:45 +09:00
Egon Elbre ac0129617f Fix NULs in text.
NUL character is a valid symbols in UTF8.

Fixes #195
2015-04-12 15:02:50 +03:00
mattn e28cd440fa Merge pull request #188 from larsmans/optimize
Optimize queries
2015-03-24 08:48:55 +09:00
Lars Buitinck 4dfb2ecaf0 Change strlen(s) > 0 => *s != '\000'. 2015-03-23 22:18:23 +01:00
Lars Buitinck 92b704c1a6 Less C/Go border crossing to get database changes
Speeds up the query benchmark by about 5% (Go 1.2.1, Linux x64).
2015-03-23 22:17:00 +01:00
mattn 07f9c9c30f Implement number-named parameters. Close #187 2015-03-24 00:46:49 +09:00
mattn ff38c8ec02 Revert a6c208564e 2015-03-22 04:29:14 +09:00
mattn e3990c31a0 Remove debug message 2015-03-22 03:38:57 +09:00
mattn 1354684d2b Fix hang in test 2015-03-22 03:37:43 +09:00
mattn c1abf95b38 Fix build 2015-03-22 03:16:35 +09:00
mattn fcd455919e Should use C.int() 2015-03-22 03:11:25 +09:00
mattn d754d2db45 revert 5253daf856 and add _busy_timeout query parameter. 2015-03-22 03:02:03 +09:00
mattn d7dbb909ec Fix test 2015-03-22 02:39:28 +09:00
mattn a6c208564e Support $NNN-style named parameter. Close #187 2015-03-22 02:08:47 +09:00
mattn 5253daf856 Next() should wait while BUSY or LOCKED because return value is bool 2015-03-19 13:29:43 +09:00
Yasuhiro Matsumoto 308067797b Apply -lpthread withou windows. 2015-03-12 18:43:55 +09:00
mattn 1b67b9f03b Merge pull request #183 from stgraber/master
Fix gccgo support
2015-03-12 18:42:19 +09:00
Stéphane Graber e688f0a8eb Link against pthread
This is required by gccgo because of the pthread_mutex_trylock symbol.

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-03-11 16:20:52 -04:00
Stéphane Graber 3d6c6f9345 Rename sqlite3.{c,h} to sqlite3-binding.{c,h}
This fixes the problem where when building with gccgo, sqlite3.c is
overwritten, leading to a build failure.

An alternative would have been to move sqlite3*.{c,h} to a subdirectory,
but that seems to confuse the linker a fair bit and would just swap one
implementation-dependent issue for another.

Closes #20

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
2015-03-11 16:19:50 -04:00
mattn aa317ad229 Merge pull request #178 from antoni/master
Correct HasPrefix method name
2015-03-06 06:50:15 +09:00
Antoni Rościszewski 16f5b6415d Correct HasPrefix method name 2015-03-05 18:23:57 +01:00
mattn 519a1d07c4 Don't modify dsn when has prefix file: 2015-03-06 02:00:09 +09:00
Yasuhiro Matsumoto d86face730 Fix filename with loc parameter 2015-03-05 12:49:22 +09:00
Yasuhiro Matsumoto f40baee643 Fix test 2015-03-05 12:39:44 +09:00
Yasuhiro Matsumoto d463e8f1f9 Remove test dup 2015-03-05 12:32:06 +09:00
mix3 e48e0597ab Fix loc parsing 2015-03-05 11:06:33 +09:00
mix3 71712f0ba9 Add test 2015-03-05 10:36:47 +09:00
Yasuhiro Matsumoto 02f54e0263 Add test 2015-03-05 10:34:31 +09:00