Hello community, here is the log from the commit of package guile-sqlite3 for openSUSE:Factory checked in at 2020-11-26 23:14:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/guile-sqlite3 (Old) and /work/SRC/openSUSE:Factory/.guile-sqlite3.new.5913 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "guile-sqlite3" Thu Nov 26 23:14:57 2020 rev:7 rq:850994 version:0.1.3 Changes: -------- --- /work/SRC/openSUSE:Factory/guile-sqlite3/guile-sqlite3.changes 2020-07-27 17:46:33.299346526 +0200 +++ /work/SRC/openSUSE:Factory/.guile-sqlite3.new.5913/guile-sqlite3.changes 2020-11-26 23:15:59.437065395 +0100 @@ -1,0 +2,6 @@ +Fri Nov 6 17:45:02 UTC 2020 - Jonathan Brielmaier <jbrielma...@opensuse.org> + +- Update to 0.1.3: + * Add trace support. + +------------------------------------------------------------------- Old: ---- v0.1.2.tar.gz New: ---- v0.1.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ guile-sqlite3.spec ++++++ --- /var/tmp/diff_new_pack.TwW7iH/_old 2020-11-26 23:16:00.077065892 +0100 +++ /var/tmp/diff_new_pack.TwW7iH/_new 2020-11-26 23:16:00.081065895 +0100 @@ -17,7 +17,7 @@ Name: guile-sqlite3 -Version: 0.1.2 +Version: 0.1.3 Release: 0 Summary: SQLite3 database access from Guile License: GPL-3.0-or-later AND LGPL-3.0-or-later ++++++ v0.1.2.tar.gz -> v0.1.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/guile-sqlite3/sqlite3.scm.in new/guile-sqlite3/sqlite3.scm.in --- old/guile-sqlite3/sqlite3.scm.in 2020-06-13 17:01:59.000000000 +0200 +++ new/guile-sqlite3/sqlite3.scm.in 2020-10-07 16:08:52.000000000 +0200 @@ -50,6 +50,8 @@ sqlite-finalize sqlite-bind-parameter-index sqlite-busy-timeout + sqlite-expanded-sql + sqlite-trace SQLITE_OPEN_READONLY SQLITE_OPEN_READWRITE @@ -69,6 +71,11 @@ SQLITE_OPEN_PRIVATECACHE SQLITE_OPEN_URI + SQLITE_TRACE_STMT + SQLITE_TRACE_PROFILE + SQLITE_TRACE_ROW + SQLITE_TRACE_CLOSE + SQLITE_CONSTRAINT SQLITE_CONSTRAINT_PRIMARYKEY SQLITE_CONSTRAINT_UNIQUE)) @@ -107,6 +114,11 @@ (define SQLITE_OPEN_PRIVATECACHE #x00040000) ;; Ok for sqlite3_open_v2() (define SQLITE_OPEN_URI #x00000040) ;; Ok for sqlite3_open_v2() +(define SQLITE_TRACE_STMT #x00000001) +(define SQLITE_TRACE_PROFILE #x00000002) +(define SQLITE_TRACE_ROW #x00000004) +(define SQLITE_TRACE_CLOSE #x00000008) + (define SQLITE_CONSTRAINT 19) (define SQLITE_CONSTRAINT_PRIMARYKEY (logior SQLITE_CONSTRAINT (ash 6 8))) @@ -572,6 +584,36 @@ (when (not (zero? ret)) (check-error db 'sqlite-busy-timeout)))))) +(define trace-callback + (lambda (callback) + (procedure->pointer + int + ;; P and X pointers are described here: + ;; https://www.sqlite.org/c3ref/c_trace.html. + (lambda (trace context p x) + (callback trace p x) + 0) + (list unsigned-int '* '* '*)))) + +(define sqlite-expanded-sql + (let ((proc (pointer->procedure + '* + (dynamic-func "sqlite3_expanded_sql" libsqlite3) + (list '*)))) + (lambda (stmt-pointer) + (proc stmt-pointer)))) + +(define sqlite-trace + (let ((proc (pointer->procedure + int + (dynamic-func "sqlite3_trace_v2" libsqlite3) + (list '* unsigned-int '* '*)))) + (lambda (db mask callback) + (proc (db-pointer db) + mask + (trace-callback callback) + %null-pointer)))) + (define sqlite-step (let ((step (pointer->procedure int diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/guile-sqlite3/tests/basic.scm new/guile-sqlite3/tests/basic.scm --- old/guile-sqlite3/tests/basic.scm 2020-06-13 17:01:59.000000000 +0200 +++ new/guile-sqlite3/tests/basic.scm 2020-10-07 16:08:52.000000000 +0200 @@ -20,6 +20,7 @@ (define-module (tests basic-test) #:use-module (srfi srfi-64) #:use-module (ice-9 format) + #:use-module (system foreign) #:use-module (rnrs bytevectors) #:use-module (sqlite3)) @@ -121,6 +122,16 @@ ; (display bv)(newline) (bytevector=? res bv))) +(begin + (sqlite-trace db + SQLITE_TRACE_STMT + (lambda (trace p x) + (test-assert "trace" + (string=? (pointer->string + (sqlite-expanded-sql p)) + "select * from project where 'bla' = 'bla'")))) + (sqlite-exec* db "select * from project where 'bla' = :foo" 'foo "bla")) + (sqlite-close db) (delete-file db-name) _______________________________________________ openSUSE Commits mailing list -- commit@lists.opensuse.org To unsubscribe, email commit-le...@lists.opensuse.org List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette List Archives: https://lists.opensuse.org/archives/list/commit@lists.opensuse.org