From 04dc25f87a9809114ef947ae207ea269729deb05 Mon Sep 17 00:00:00 2001 From: Eduardo Cavazos Date: Mon, 11 Feb 2008 06:11:00 -0600 Subject: [PATCH 1/2] builder.test: Only extract the vocab names from the result of try-everything --- extra/builder/test/test.factor | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extra/builder/test/test.factor b/extra/builder/test/test.factor index c887c668e6..b77199c7c5 100644 --- a/extra/builder/test/test.factor +++ b/extra/builder/test/test.factor @@ -7,8 +7,10 @@ USING: kernel sequences assocs builder continuations vocabs vocabs.loader IN: builder.test +: try-everything* ( -- vocabs ) try-everything [ first vocab-link-name ] map ; + : do-load ( -- ) - [ try-everything ] "../load-everything-time" log-runtime + [ try-everything* ] "../load-everything-time" log-runtime dup empty? [ drop ] [ "../load-everything-log" log-object ] From 3906f1c9f5eaa0bd0a7fc7c6d481c401f80454cc Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 11 Feb 2008 13:39:43 -0600 Subject: [PATCH 2/2] add drop table fix up unit tests --- extra/db/sqlite/sqlite.factor | 6 +++++- extra/db/tuples/tuples-tests.factor | 20 ++++++++++++++------ extra/db/tuples/tuples.factor | 5 ++++- 3 files changed, 23 insertions(+), 8 deletions(-) diff --git a/extra/db/sqlite/sqlite.factor b/extra/db/sqlite/sqlite.factor index 0f4529763a..093dac9d1a 100644 --- a/extra/db/sqlite/sqlite.factor +++ b/extra/db/sqlite/sqlite.factor @@ -84,6 +84,11 @@ M: sqlite-db create-sql ( columns table -- sql ) ] interleave ")" % ] "" make ; +M: sqlite-db drop-sql ( table -- sql ) + [ + "drop table " % % + ] "" make ; + M: sqlite-db insert-sql* ( columns table -- sql ) [ "insert into " % @@ -109,7 +114,6 @@ M: sqlite-db update-sql* ( columns table -- sql ) M: sqlite-db delete-sql* ( columns table -- sql ) [ - break "delete from " % % " where " % diff --git a/extra/db/tuples/tuples-tests.factor b/extra/db/tuples/tuples-tests.factor index 7fc6fd3b97..dcf27841cf 100644 --- a/extra/db/tuples/tuples-tests.factor +++ b/extra/db/tuples/tuples-tests.factor @@ -1,4 +1,5 @@ -USING: io.files kernel tools.test db db.sqlite db.tuples ; +USING: io.files kernel tools.test db db.sqlite db.tuples +db.types continuations namespaces ; IN: temporary TUPLE: person the-id the-name the-number ; @@ -13,16 +14,23 @@ person "PERSON" } define-persistent +SYMBOL: the-person + : test-tuples ( -- ) - f "billy" 100 person construct-boa dup insert-tuple + [ person drop-table ] [ ] recover + person create-table + f "billy" 100 person construct-boa + the-person set + + [ ] [ the-person get insert-tuple ] unit-test - [ 1 ] [ dup person-id ] unit-test + [ 1 ] [ the-person get person-the-id ] unit-test - 200 over set-person-the-number + 200 the-person get set-person-the-number - [ ] [ dup update-tuple ] unit-test + [ ] [ the-person get update-tuple ] unit-test - [ ] [ delete-tuple ] unit-test ; + [ ] [ the-person get delete-tuple ] unit-test ; : test-sqlite ( -- ) "tuples-test.db" resource-path [ diff --git a/extra/db/tuples/tuples.factor b/extra/db/tuples/tuples.factor index c08f359d5e..c9faaf710c 100644 --- a/extra/db/tuples/tuples.factor +++ b/extra/db/tuples/tuples.factor @@ -49,7 +49,7 @@ IN: db.tuples [ ] 3compose cache nip ; inline HOOK: create-sql db ( columns table -- sql ) -HOOK: drop-sql db ( columns table -- sql ) +HOOK: drop-sql db ( table -- sql ) HOOK: insert-sql* db ( columns table -- sql ) HOOK: update-sql* db ( columns table -- sql ) HOOK: delete-sql* db ( columns table -- sql ) @@ -80,6 +80,9 @@ HOOK: tuple>params db ( columns tuple -- obj ) : create-table ( class -- ) dup db-columns swap db-table create-sql sql-command ; +: drop-table ( class -- ) + db-table drop-sql sql-command ; + : insert-tuple ( tuple -- ) [ [ maybe-remove-id ] [ insert-sql ] do-tuple-statement