aboutsummaryrefslogtreecommitdiffstats
path: root/rdms.scm
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:31 -0800
committerBryan Newbold <bnewbold@robocracy.org>2017-02-20 00:05:31 -0800
commit5145dd3aa0c02c9fc496d1432fc4410674206e1d (patch)
tree540afc30c51da085f5bd8ec3f4c89f6496e7900d /rdms.scm
parent8466d8cfa486fb30d1755c4261b781135083787b (diff)
downloadslib-5145dd3aa0c02c9fc496d1432fc4410674206e1d.tar.gz
slib-5145dd3aa0c02c9fc496d1432fc4410674206e1d.zip
Import Upstream version 3a2upstream/3a2
Diffstat (limited to 'rdms.scm')
-rw-r--r--rdms.scm24
1 files changed, 13 insertions, 11 deletions
diff --git a/rdms.scm b/rdms.scm
index eb74494..09506bc 100644
--- a/rdms.scm
+++ b/rdms.scm
@@ -17,6 +17,8 @@
;promotional, or sales literature without prior written consent in
;each case.
+(require 'rev4-optional-procedures) ;list-tail
+
(define rdms:catalog-name '*catalog-data*)
(define rdms:domains-name '*domains-data*)
(define rdms:columns-name '*columns*)
@@ -493,7 +495,6 @@
(let ((translate-column
(lambda (column)
- ;;(print 'translate-column column column-name-alist)
(let ((colp (assq column column-name-alist)))
(cond (colp (cdr colp))
((and (integer? column)
@@ -540,7 +541,7 @@
(norm-mkeys mkeys)))))
(else #f)))
(else
- (let ((index (- ci primary-limit 1))
+ (let ((index (- ci (+ primary-limit 1)))
(get-1 (base 'make-getter-1)))
(cond
(get-1
@@ -635,15 +636,16 @@
(define delete-table
(and mutable
(lambda (table-name)
- ;;(or rdms:catalog (set! rdms:catalog (open-table rdms:catalog-name #t)))
- (let* ((table (open-table table-name #t))
- (row ((rdms:catalog 'row:remove) table-name)))
- (and row (base:kill-table
- lldb
- (list-ref row (+ -1 catalog:bastab-id-pos))
- (table 'primary-limit)
- (table 'column-type-list))
- row)))))
+ (or rdms:catalog (set! rdms:catalog (open-table rdms:catalog-name #t)))
+ (and (table-exists? table-name)
+ (let ((table (open-table table-name #t))
+ (row ((rdms:catalog 'row:remove) table-name)))
+ (and row (base:kill-table
+ lldb
+ (list-ref row (+ -1 catalog:bastab-id-pos))
+ (table 'primary-limit)
+ (table 'column-type-list))
+ row))))))
(lambda (operation-name)
(case operation-name