parent
19d771f827
commit
6ea88c2e82
|
@ -33,6 +33,13 @@ SYMBOL: the-person2
|
||||||
|
|
||||||
[ T{ person f 1 "billy" 200 3.14 } ]
|
[ T{ person f 1 "billy" 200 3.14 } ]
|
||||||
[ T{ person f 1 } select-tuple ] unit-test
|
[ 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
|
[ ] [ the-person1 get delete-tuple ] unit-test
|
||||||
[ f ] [ T{ person f 1 } select-tuple ] unit-test
|
[ f ] [ T{ person f 1 } select-tuple ] unit-test
|
||||||
|
@ -71,6 +78,7 @@ person "PERSON"
|
||||||
} define-persistent
|
} define-persistent
|
||||||
|
|
||||||
1 "billy" 10 3.14 <assigned-person> the-person1 set
|
1 "billy" 10 3.14 <assigned-person> the-person1 set
|
||||||
|
2 "johnny" 10 3.14 <assigned-person> the-person2 set
|
||||||
|
|
||||||
! test-sqlite
|
! test-sqlite
|
||||||
test-postgresql
|
test-postgresql
|
||||||
|
@ -108,4 +116,3 @@ annotation "ANNOTATION"
|
||||||
[ ] [ paste create-table ] unit-test
|
[ ] [ paste create-table ] unit-test
|
||||||
[ ] [ annotation create-table ] unit-test
|
[ ] [ annotation create-table ] unit-test
|
||||||
] with-db
|
] with-db
|
||||||
|
|
||||||
|
|
|
@ -50,10 +50,7 @@ HOOK: insert-tuple* db ( tuple statement -- )
|
||||||
|
|
||||||
: query-tuples ( statement -- seq )
|
: query-tuples ( statement -- seq )
|
||||||
[ statement-out-params ] keep query-results [
|
[ 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 ;
|
] with-disposal ;
|
||||||
|
|
||||||
: query-modify-tuple ( tuple statement -- )
|
: query-modify-tuple ( tuple statement -- )
|
||||||
|
@ -91,16 +88,10 @@ HOOK: insert-tuple* db ( tuple statement -- )
|
||||||
: update-tuples ( seq -- )
|
: update-tuples ( seq -- )
|
||||||
<update-tuples-statement> execute-statement ;
|
<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 -- )
|
: delete-tuple ( tuple -- )
|
||||||
dup class <delete-tuple-statement>
|
dup class <delete-tuple-statement>
|
||||||
[ bind-tuple ] keep execute-statement ;
|
[ bind-tuple ] keep execute-statement ;
|
||||||
|
|
||||||
|
|
||||||
: setup-select ( tuple -- statement )
|
: setup-select ( tuple -- statement )
|
||||||
dup dup class <select-by-slots-statement>
|
dup dup class <select-by-slots-statement>
|
||||||
[ bind-tuple ] keep ;
|
[ bind-tuple ] keep ;
|
||||||
|
|
Loading…
Reference in New Issue