make all types singletons instead of symbols, add NULL support for select statements
parent
2779103b63
commit
ad53391806
|
@ -114,6 +114,9 @@ M: sequence where ( spec obj -- )
|
||||||
[ " or " 0% ] [ dupd where ] interleave drop
|
[ " or " 0% ] [ dupd where ] interleave drop
|
||||||
] in-parens ;
|
] in-parens ;
|
||||||
|
|
||||||
|
M: NULL where ( spec obj -- )
|
||||||
|
drop column-name>> 0% " is NULL" 0% ;
|
||||||
|
|
||||||
: object-where ( spec obj -- )
|
: object-where ( spec obj -- )
|
||||||
over column-name>> 0% " = " 0% bind# ;
|
over column-name>> 0% " = " 0% bind# ;
|
||||||
|
|
||||||
|
|
|
@ -472,7 +472,12 @@ TUPLE: exam id name score ;
|
||||||
T{ exam } select-tuples
|
T{ exam } select-tuples
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
[ 4 ] [ T{ exam } count-tuples ] unit-test ;
|
[ 4 ] [ T{ exam } count-tuples ] unit-test
|
||||||
|
|
||||||
|
[ ] [ T{ exam { score 10 } } insert-tuple ] unit-test
|
||||||
|
|
||||||
|
[ 10 ]
|
||||||
|
[ T{ exam { name NULL } } select-tuples first score>> ] unit-test ;
|
||||||
|
|
||||||
TUPLE: bignum-test id m n o ;
|
TUPLE: bignum-test id m n o ;
|
||||||
: <bignum-test> ( m n o -- obj )
|
: <bignum-test> ( m n o -- obj )
|
||||||
|
|
|
@ -91,7 +91,7 @@ ERROR: not-persistent class ;
|
||||||
|
|
||||||
: relation? ( spec -- ? ) [ +has-many+ = ] deep-find ;
|
: relation? ( spec -- ? ) [ +has-many+ = ] deep-find ;
|
||||||
|
|
||||||
SYMBOLS: INTEGER BIG-INTEGER SIGNED-BIG-INTEGER UNSIGNED-BIG-INTEGER
|
SINGLETONS: INTEGER BIG-INTEGER SIGNED-BIG-INTEGER UNSIGNED-BIG-INTEGER
|
||||||
DOUBLE REAL BOOLEAN TEXT VARCHAR DATE TIME DATETIME TIMESTAMP BLOB
|
DOUBLE REAL BOOLEAN TEXT VARCHAR DATE TIME DATETIME TIMESTAMP BLOB
|
||||||
FACTOR-BLOB NULL URL ;
|
FACTOR-BLOB NULL URL ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue