aboutsummaryrefslogtreecommitdiff
path: root/sqlite3_trace.go
diff options
context:
space:
mode:
authorYasuhiro Matsumoto <mattn.jp@gmail.com>2018-01-29 11:13:52 +0900
committerYasuhiro Matsumoto <mattn.jp@gmail.com>2018-01-29 11:15:57 +0900
commit324c3f7debd1e0bdeca1e501a942bf733d9027ae (patch)
tree10782b46344f1ec4aef0c58768a77d1c6a8b785c /sqlite3_trace.go
parentMerge pull request #462 from faruzzy/master (diff)
downloadgolite-324c3f7debd1e0bdeca1e501a942bf733d9027ae.tar.gz
golite-324c3f7debd1e0bdeca1e501a942bf733d9027ae.tar.xz
fix type of event code
fixes #520
Diffstat (limited to 'sqlite3_trace.go')
-rw-r--r--sqlite3_trace.go22
1 files changed, 12 insertions, 10 deletions
diff --git a/sqlite3_trace.go b/sqlite3_trace.go
index ece6035..8f90a56 100644
--- a/sqlite3_trace.go
+++ b/sqlite3_trace.go
@@ -28,10 +28,10 @@ import (
// Trace... constants identify the possible events causing callback invocation.
// Values are same as the corresponding SQLite Trace Event Codes.
const (
- TraceStmt = C.SQLITE_TRACE_STMT
- TraceProfile = C.SQLITE_TRACE_PROFILE
- TraceRow = C.SQLITE_TRACE_ROW
- TraceClose = C.SQLITE_TRACE_CLOSE
+ TraceStmt = uint32(C.SQLITE_TRACE_STMT)
+ TraceProfile = uint32(C.SQLITE_TRACE_PROFILE)
+ TraceRow = uint32(C.SQLITE_TRACE_ROW)
+ TraceClose = uint32(C.SQLITE_TRACE_CLOSE)
)
type TraceInfo struct {
@@ -71,7 +71,7 @@ type TraceUserCallback func(TraceInfo) int
type TraceConfig struct {
Callback TraceUserCallback
- EventMask C.uint
+ EventMask uint32
WantExpandedSQL bool
}
@@ -105,6 +105,8 @@ func traceCallbackTrampoline(
// Parameter named 'X' in SQLite docs (eXtra event data?):
xValue unsafe.Pointer) C.int {
+ eventCode := uint32(traceEventCode)
+
if ctx == nil {
panic(fmt.Sprintf("No context (ev 0x%x)", traceEventCode))
}
@@ -114,7 +116,7 @@ func traceCallbackTrampoline(
var traceConf TraceConfig
var found bool
- if traceEventCode == TraceClose {
+ if eventCode == TraceClose {
// clean up traceMap: 'pop' means get and delete
traceConf, found = popTraceMapping(connHandle)
} else {
@@ -123,16 +125,16 @@ func traceCallbackTrampoline(
if !found {
panic(fmt.Sprintf("Mapping not found for handle 0x%x (ev 0x%x)",
- connHandle, traceEventCode))
+ connHandle, eventCode))
}
var info TraceInfo
- info.EventCode = uint32(traceEventCode)
+ info.EventCode = eventCode
info.AutoCommit = (int(C.sqlite3_get_autocommit(contextDB)) != 0)
info.ConnHandle = connHandle
- switch traceEventCode {
+ switch eventCode {
case TraceStmt:
info.StmtHandle = uintptr(p)
@@ -183,7 +185,7 @@ func traceCallbackTrampoline(
// registering this callback trampoline with SQLite --- for cleanup.
// In the future there may be more events forced to "selected" in SQLite
// for the driver's needs.
- if traceConf.EventMask&traceEventCode == 0 {
+ if traceConf.EventMask&eventCode == 0 {
return 0
}