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

Reply via email to