David Anderson
26917df7a6
Implement support for aggregation functions implemented in Go.
2015-09-15 18:05:49 -07:00
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
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
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
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
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
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
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
mix3
e48e0597ab
Fix loc parsing
2015-03-05 11:06:33 +09:00
mattn
e273a1552e
Fixed bug for loc parameter
2015-03-05 01:17:38 +09:00
Yasuhiro Matsumoto
18aa166fa9
cleanup code
2015-03-04 22:58:32 +09:00
Yasuhiro Matsumoto
4c5c4e5261
Add loc=XXX parameters to handle timezone
2015-03-04 22:49:17 +09:00
Yasuhiro Matsumoto
da2bf8a0f3
Add FTS3 feature. Close #176
2015-02-24 11:28:02 +09:00
Attila Tajti
0486deea0d
load extensions using the C API instead of SQL
...
This fixes the problem of loading ICU, which needs to replace existing
functions. Replacing existing functions are prohibited when a VM
is running.
2015-01-26 16:50:50 +01:00
Mahadevan
a14f442f3e
Return error code of sqlite3_step, not sqlite3_reset
2015-01-26 14:10:18 +05:30
Ian Bishop
0b05acc293
Handle 13 digit datetime values
2015-01-02 16:42:25 +10:00
Nahum Shalman
ae251919bd
set CFLAGS: -std=gnu99
...
Fixes the following error message on SmartOS:
$ go get github.com/mattn/go-sqlite3
In file included from /usr/include/stdio.h:37:0,
from go/src/github.com/mattn/go-sqlite3/sqlite3.c:8422:
/opt/local/gcc47/lib/gcc/i386-sun-solaris2.11/4.7.3/include-fixed/sys/feature_tests.h:366:2: error: #error "Compiler or options invalid; UNIX 03 and POSIX.1-2001 applications require the use of c99"
2014-12-18 17:16:42 -05:00
Josiah Kiehl (formerly @bluepojo)
3dc340b45f
Catch missing arguments for Query()
...
Also improved error message on Exec() for consistency.
2014-11-29 14:08:02 -08:00
mattn
d10e2c8f62
Reset statement. Fixes #150
2014-11-16 23:51:46 +09:00
mattn
e63d2546a0
set/reset finalizer to free SQLite3 handles
2014-11-14 17:13:35 +09:00
mattn
12a1c0f435
rows.Close()
2014-11-14 02:21:49 +09:00
mattn
e5819757da
Should affect on only 386
2014-10-24 19:38:05 +09:00
mattn
c1aa7ac706
Merge pull request #155 from kartaca/master
...
fixed timezone problem for datetime types
2014-10-24 18:22:46 +09:00
Mehmet Gurevin
6710e996b5
fixed timezone problem for datetime types
2014-10-23 20:12:32 +03:00
mattn
00716954b7
Specify by -D
2014-10-22 13:31:54 +09:00
mattn
1fbcb3cdc2
Thread safe
2014-10-20 15:19:03 +09:00
romo
86932b40b0
add Version func for retrieving SQLite library version info
2014-10-13 11:05:49 +09:00
mattn
a80c27ba33
Merge commit '3d78a08b9f3307ac3874f5c120f7d4166c62efb9'
2014-09-10 15:02:09 +09:00
mattn
3d78a08b9f
Workaround for #109 , #147
2014-09-10 14:58:32 +09:00
mattn
3ab1d6f348
Merge branch 'master' of https://github.com/mattn/go-sqlite3
2014-09-03 09:21:35 +09:00