diff options
author | Arun Isaac | 2022-06-06 23:53:04 +0530 |
---|---|---|
committer | Arun Isaac | 2022-06-06 23:59:52 +0530 |
commit | f3967897b0531bc73c72d936a77f24a6b94a2fac (patch) | |
tree | c68639a9dbd5b9ee5adfa950b22a23f76ddd3de4 | |
parent | 58de551deffd89b76d27d802942c7f804d9f86c6 (diff) | |
download | guile-xapian-f3967897b0531bc73c72d936a77f24a6b94a2fac.tar.gz guile-xapian-f3967897b0531bc73c72d936a77f24a6b94a2fac.tar.lz guile-xapian-f3967897b0531bc73c72d936a77f24a6b94a2fac.zip |
xapian: Accept bytevector data with document-set-data!.
* xapian/xapian.scm (make-document): Call document-set-data!
regardless of data type.
(document-set-data!): Accept bytevector data.
(document-set-bytes!): Deprecate.
-rw-r--r-- | xapian/xapian.scm | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/xapian/xapian.scm b/xapian/xapian.scm index bde52a1..39461fc 100644 --- a/xapian/xapian.scm +++ b/xapian/xapian.scm @@ -1,5 +1,5 @@ ;;; guile-xapian --- Guile bindings for Xapian -;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2020, 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Bob131 <bob@bob131.so> ;;; ;;; This file is part of guile-xapian. @@ -86,12 +86,7 @@ in-memory database would always remain empty and is of little use." (define* (make-document #:key data (terms '()) (values '())) (let ((doc (new-Document))) (when data - (cond - ((string? data) - (Document-set-data doc data)) - ((bytevector? data) - (Document-set-data-bytes doc data)) - (else (error "Invalid document data" data)))) + (document-set-data! doc data)) (for-each (match-lambda ((term . wdf-increment) (Document-add-term doc term wdf-increment))) @@ -106,8 +101,21 @@ in-memory database would always remain empty and is of little use." (define document-data Document-get-data) (define document-bytes Document-get-data-bytes) -(define document-set-data! Document-set-data) -(define document-set-bytes! Document-set-data-bytes) + +(define (document-set-data! document data) + "Set data of DOCUMENT to DATA. DATA may be a string or a bytevector." + (cond + ((string? data) + (Document-set-data document data)) + ((bytevector? data) + (Document-set-data-bytes document data)) + (else + (error "Invalid document data" data)))) + +(define (document-set-bytes! doc data) + (display "document-set-bytes! is deprecated. document-set-data! now supports setting bytevectors as data. Please use that instead." + (current-error-port)) + (Document-set-data-bytes doc data)) (define document-slot-ref Document-get-value) (define document-slot-ref-bytes Document-get-value-bytes) |