Skip to content

Commit 4ab48f1

Browse files
committed
Update Recursive Triggers
ADD: Multiple Key
1 parent bb42c28 commit 4ab48f1

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ Boolean values can be one of:
7979
| Case Sensitive LIKE | `_cslike` | `boolean` | For more information see [PRAGMA case_sensitive_like](https://www.sqlite.org/pragma.html#pragma_case_sensitive_like) |
8080
| Foreign Keys | `_foreign_keys` \| `_fk` | `boolean` | For more information see [PRAGMA foreign_keys](https://www.sqlite.org/pragma.html#pragma_foreign_keys) |
8181
| Mutex Locking | `_mutex` | <ul><li>no</li><li>full</li></ul> | Specify mutex mode. |
82-
| Recursive Triggers | `_recursive_triggers` | `boolean` | For more information see [PRAGMA recursive_triggers](https://www.sqlite.org/pragma.html#pragma_recursive_triggers) |
82+
| Recursive Triggers | `_recursive_triggers` \| `_rt` | `boolean` | For more information see [PRAGMA recursive_triggers](https://www.sqlite.org/pragma.html#pragma_recursive_triggers) |
8383
| Shared-Cache Mode | `cache` | <ul><li>shared</li><li>private</li></ul> | Set cache mode for more information see [sqlite.org](https://www.sqlite.org/sharedcache.html) |
8484
| Time Zone Location | `_loc` | auto | Specify location of time format. |
8585
| Transaction Lock | `_txlock` | <ul><li>immediate</li><li>deferred</li><li>exclusive</li></ul> | Specify locking behavior for transactions. |

sqlite3.go

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -961,7 +961,14 @@ func (d *SQLiteDriver) Open(dsn string) (driver.Conn, error) {
961961
//
962962
// https://www.sqlite.org/pragma.html#pragma_recursive_triggers
963963
//
964-
if val := params.Get("_recursive_triggers"); val != "" {
964+
pkey = "" // Reset pkey
965+
if _, ok := params["_recursive_triggers"]; ok {
966+
pkey = "_recursive_triggers"
967+
}
968+
if _, ok := params["_rt"]; ok {
969+
pkey = "_rt"
970+
}
971+
if val := params.Get(pkey); val != "" {
965972
switch strings.ToLower(val) {
966973
case "0", "no", "false", "off":
967974
recursiveTriggers = 0

0 commit comments

Comments
 (0)