diff --git a/extra/db/tuples/tuples.factor b/extra/db/tuples/tuples.factor index a52c19288b..ea97eee1c9 100755 --- a/extra/db/tuples/tuples.factor +++ b/extra/db/tuples/tuples.factor @@ -87,7 +87,7 @@ HOOK: insert-tuple* db ( tuple statement -- ) [ bind-tuple ] keep execute-statement ; : insert-tuple ( tuple -- ) - break + ! break dup class db-columns find-primary-key assigned-id? [ insert-assigned ] [ diff --git a/extra/db/types/types.factor b/extra/db/types/types.factor index a9b60b41fb..c84b23c50f 100755 --- a/extra/db/types/types.factor +++ b/extra/db/types/types.factor @@ -195,33 +195,11 @@ TUPLE: no-slot-named ; : offset-of-slot ( str obj -- n ) class slot-spec-named slot-spec-offset ; -DEFER: get-slot-named -: get-delegate-slot-named ( str obj -- value ) - delegate [ get-slot-named ] [ drop no-slot-named ] if* ; - -! : get-slot-named ( str obj -- value ) -! tuck offset-of-slot [ no-slot-named ] unless* slot ; - : get-slot-named ( str obj -- value ) - 2dup offset-of-slot [ - rot drop slot - ] [ - get-delegate-slot-named - ] if* ; - -DEFER: set-slot-named -: set-delegate-slot-named ( value str obj -- ) - delegate [ set-slot-named ] [ 2drop no-slot-named ] if* ; - -! : set-slot-named ( value str obj -- ) -! tuck offset-of-slot [ no-slot-named ] unless* set-slot ; + tuck offset-of-slot [ no-slot-named ] unless* slot ; : set-slot-named ( value str obj -- ) - 2dup offset-of-slot [ - rot drop set-slot - ] [ - set-delegate-slot-named - ] if* ; + tuck offset-of-slot [ no-slot-named ] unless* set-slot ; : tuple>filled-slots ( tuple -- alist ) dup mirror-slots [ slot-spec-name ] map