diff options
author | Tetsuya Morimoto <tetsuya.morimoto@gmail.com> | 2017-11-05 08:47:52 +0900 |
---|---|---|
committer | Tetsuya Morimoto <tetsuya.morimoto@gmail.com> | 2017-11-05 19:45:38 +0900 |
commit | b07b06e15c31b3e80ca7ba244e946d619a8dc99a (patch) | |
tree | ec9f6bb5c71bb52069592006c272b6cbe0d154f3 /sqlite3.go | |
parent | support sqlite3_limit to get/set run time limit (diff) | |
download | golite-b07b06e15c31b3e80ca7ba244e946d619a8dc99a.tar.gz golite-b07b06e15c31b3e80ca7ba244e946d619a8dc99a.tar.xz |
update to call _sqlite3_limit as a wrapper instead of sqlite3_limit
Diffstat (limited to 'sqlite3.go')
-rw-r--r-- | sqlite3.go | 28 |
1 files changed, 26 insertions, 2 deletions
@@ -105,6 +105,30 @@ int compareTrampoline(void*, int, char*, int, char*); int commitHookTrampoline(void*); void rollbackHookTrampoline(void*); void updateHookTrampoline(void*, int, char*, char*, sqlite3_int64); + +#ifdef SQLITE_LIMIT_WORKER_THREADS +# define _SQLITE_HAS_LIMIT +# define SQLITE_LIMIT_LENGTH 0 +# define SQLITE_LIMIT_SQL_LENGTH 1 +# define SQLITE_LIMIT_COLUMN 2 +# define SQLITE_LIMIT_EXPR_DEPTH 3 +# define SQLITE_LIMIT_COMPOUND_SELECT 4 +# define SQLITE_LIMIT_VDBE_OP 5 +# define SQLITE_LIMIT_FUNCTION_ARG 6 +# define SQLITE_LIMIT_ATTACHED 7 +# define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 +# define SQLITE_LIMIT_VARIABLE_NUMBER 9 +# define SQLITE_LIMIT_TRIGGER_DEPTH 10 +# define SQLITE_LIMIT_WORKER_THREADS 11 +#endif + +static int _sqlite3_limit(sqlite3* db, int limitId, int newLimit) { +#ifndef _SQLITE_HAS_LIMIT + return -1; +#else + return sqlite3_limit(db, limitId, newLimit); +#endif +} */ import "C" import ( @@ -847,14 +871,14 @@ const ( // GetLimit returns the current value of a run-time limit. // See: sqlite3_limit, http://www.sqlite.org/c3ref/limit.html func (c *SQLiteConn) GetLimit(id int) int { - return int(C.sqlite3_limit(c.db, C.int(id), -1)) + return int(C._sqlite3_limit(c.db, C.int(id), -1)) } // SetLimit changes the value of a run-time limits. // Then this method returns the prior value of the limit. // See: sqlite3_limit, http://www.sqlite.org/c3ref/limit.html func (c *SQLiteConn) SetLimit(id int, newVal int) int { - return int(C.sqlite3_limit(c.db, C.int(id), C.int(newVal))) + return int(C._sqlite3_limit(c.db, C.int(id), C.int(newVal))) } // Close the statement. |