diff --git a/extra/db/tuples/tuples-tests.factor b/extra/db/tuples/tuples-tests.factor index d5f6386e8e..6a0d0378b2 100755 --- a/extra/db/tuples/tuples-tests.factor +++ b/extra/db/tuples/tuples-tests.factor @@ -33,6 +33,13 @@ SYMBOL: the-person2 [ T{ person f 1 "billy" 200 3.14 } ] [ T{ person f 1 } select-tuple ] unit-test + [ ] [ the-person2 get insert-tuple ] unit-test + [ + { + T{ person f 1 "billy" 200 3.14 } + T{ person f 2 "johnny" 10 3.14 } + } + ] [ T{ person f f f f 3.14 } select-tuples ] unit-test [ ] [ the-person1 get delete-tuple ] unit-test [ f ] [ T{ person f 1 } select-tuple ] unit-test @@ -71,6 +78,7 @@ person "PERSON" } define-persistent 1 "billy" 10 3.14 <assigned-person> the-person1 set +2 "johnny" 10 3.14 <assigned-person> the-person2 set ! test-sqlite test-postgresql @@ -108,4 +116,3 @@ annotation "ANNOTATION" [ ] [ paste create-table ] unit-test [ ] [ annotation create-table ] unit-test ] with-db - diff --git a/extra/db/tuples/tuples.factor b/extra/db/tuples/tuples.factor index f0ee23e728..4e8b8ec9d0 100755 --- a/extra/db/tuples/tuples.factor +++ b/extra/db/tuples/tuples.factor @@ -50,10 +50,7 @@ HOOK: insert-tuple* db ( tuple statement -- ) : query-tuples ( statement -- seq ) [ statement-out-params ] keep query-results [ - ! out-parms result-set - [ - sql-row swap resulting-tuple - ] with query-map + [ sql-row swap resulting-tuple ] with query-map ] with-disposal ; : query-modify-tuple ( tuple statement -- ) @@ -91,16 +88,10 @@ HOOK: insert-tuple* db ( tuple statement -- ) : update-tuples ( seq -- ) <update-tuples-statement> execute-statement ; -: persist ( tuple -- ) - dup class db-columns find-primary-key - sql-spec-slot-name over get-slot-named - [ update-tuple ] [ insert-tuple ] if ; - : delete-tuple ( tuple -- ) dup class <delete-tuple-statement> [ bind-tuple ] keep execute-statement ; - : setup-select ( tuple -- statement ) dup dup class <select-by-slots-statement> [ bind-tuple ] keep ;