ensure-table just does [ create-table ] curry ignore-errors
recreate-table is the old ensure-tabledb4
parent
e486683d96
commit
93bf51eb68
|
@ -1,7 +1,6 @@
|
||||||
USING: kernel parser quotations classes.tuple words math.order
|
USING: kernel parser quotations classes.tuple words math.order
|
||||||
namespaces.lib namespaces sequences arrays combinators
|
namespaces.lib namespaces sequences arrays combinators
|
||||||
prettyprint strings math.parser sequences.lib math symbols ;
|
prettyprint strings math.parser sequences.lib math symbols ;
|
||||||
USE: tools.walker
|
|
||||||
IN: db.sql
|
IN: db.sql
|
||||||
|
|
||||||
SYMBOLS: insert update delete select distinct columns from as
|
SYMBOLS: insert update delete select distinct columns from as
|
||||||
|
|
|
@ -4,7 +4,7 @@ USING: alien.c-types arrays assocs kernel math math.parser
|
||||||
namespaces sequences db.sqlite.ffi db combinators
|
namespaces sequences db.sqlite.ffi db combinators
|
||||||
continuations db.types calendar.format serialize
|
continuations db.types calendar.format serialize
|
||||||
io.streams.byte-array byte-arrays io.encodings.binary
|
io.streams.byte-array byte-arrays io.encodings.binary
|
||||||
tools.walker io.backend ;
|
io.backend ;
|
||||||
IN: db.sqlite.lib
|
IN: db.sqlite.lib
|
||||||
|
|
||||||
: sqlite-error ( n -- * )
|
: sqlite-error ( n -- * )
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: io.files kernel tools.test db db.tuples classes
|
USING: io.files kernel tools.test db db.tuples classes
|
||||||
db.types continuations namespaces math math.ranges
|
db.types continuations namespaces math math.ranges
|
||||||
prettyprint tools.walker calendar sequences db.sqlite
|
prettyprint calendar sequences db.sqlite math.intervals
|
||||||
math.intervals db.postgresql accessors random math.bitfields.lib ;
|
db.postgresql accessors random math.bitfields.lib ;
|
||||||
IN: db.tuples.tests
|
IN: db.tuples.tests
|
||||||
|
|
||||||
TUPLE: person the-id the-name the-number the-real
|
TUPLE: person the-id the-name the-number the-real
|
||||||
|
@ -328,7 +328,7 @@ C: <secret> secret
|
||||||
{ "message" "MESSAGE" TEXT }
|
{ "message" "MESSAGE" TEXT }
|
||||||
} define-persistent
|
} define-persistent
|
||||||
|
|
||||||
[ ] [ secret ensure-table ] unit-test
|
[ ] [ secret recreate-table ] unit-test
|
||||||
|
|
||||||
[ t ] [ f "kilroy was here" <secret> [ insert-tuple ] keep n>> integer? ] unit-test
|
[ t ] [ f "kilroy was here" <secret> [ insert-tuple ] keep n>> integer? ] unit-test
|
||||||
|
|
||||||
|
@ -342,7 +342,7 @@ C: <secret> secret
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
[ t ] [
|
[ t ] [
|
||||||
T{ secret } select-tuples dup . length 3 =
|
T{ secret } select-tuples length 3 =
|
||||||
] unit-test ;
|
] unit-test ;
|
||||||
|
|
||||||
[ db-assigned-person-schema test-tuples ] test-sqlite
|
[ db-assigned-person-schema test-tuples ] test-sqlite
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
USING: arrays assocs classes db kernel namespaces
|
USING: arrays assocs classes db kernel namespaces
|
||||||
classes.tuple words sequences slots math accessors
|
classes.tuple words sequences slots math accessors
|
||||||
math.parser io prettyprint db.types continuations
|
math.parser io prettyprint db.types continuations
|
||||||
mirrors sequences.lib tools.walker combinators.lib ;
|
mirrors sequences.lib combinators.lib ;
|
||||||
IN: db.tuples
|
IN: db.tuples
|
||||||
|
|
||||||
: define-persistent ( class table columns -- )
|
: define-persistent ( class table columns -- )
|
||||||
|
@ -108,12 +108,15 @@ M: retryable execute-statement* ( statement type -- )
|
||||||
: drop-table ( class -- )
|
: drop-table ( class -- )
|
||||||
drop-sql-statement [ execute-statement ] with-disposals ;
|
drop-sql-statement [ execute-statement ] with-disposals ;
|
||||||
|
|
||||||
: ensure-table ( class -- )
|
: recreate-table ( class -- )
|
||||||
[
|
[
|
||||||
drop-sql-statement make-nonthrowable
|
drop-sql-statement make-nonthrowable
|
||||||
[ execute-statement ] with-disposals
|
[ execute-statement ] with-disposals
|
||||||
] [ create-table ] bi ;
|
] [ create-table ] bi ;
|
||||||
|
|
||||||
|
: ensure-table ( class -- )
|
||||||
|
[ create-table ] curry ignore-errors ;
|
||||||
|
|
||||||
: insert-db-assigned-statement ( tuple -- )
|
: insert-db-assigned-statement ( tuple -- )
|
||||||
dup class
|
dup class
|
||||||
db get db-insert-statements [ <insert-db-assigned-statement> ] cache
|
db get db-insert-statements [ <insert-db-assigned-statement> ] cache
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: arrays assocs db kernel math math.parser
|
USING: arrays assocs db kernel math math.parser
|
||||||
sequences continuations sequences.deep sequences.lib
|
sequences continuations sequences.deep sequences.lib
|
||||||
words namespaces tools.walker slots slots.private classes
|
words namespaces slots slots.private classes mirrors
|
||||||
mirrors classes.tuple combinators calendar.format symbols
|
classes.tuple combinators calendar.format symbols
|
||||||
classes.singleton accessors quotations random ;
|
classes.singleton accessors quotations random ;
|
||||||
IN: db.types
|
IN: db.types
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue