From 5145dd3aa0c02c9fc496d1432fc4410674206e1d Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Mon, 20 Feb 2017 00:05:31 -0800 Subject: Import Upstream version 3a2 --- rdms.scm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'rdms.scm') 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 -- cgit v1.2.3