: new-result-set ( query handle class -- result-set )
new
swap >>handle
- >r [ sql>> ] [ in-params>> ] [ out-params>> ] tri r>
+ [ [ sql>> ] [ in-params>> ] [ out-params>> ] tri ] dip
swap >>out-params
swap >>in-params
swap >>sql ;
: param-values ( statement -- seq seq2 )
[ bind-params>> ] [ in-params>> ] bi
[
- >r value>> r> type>> {
+ [ value>> ] [ type>> ] bi* {
{ FACTOR-BLOB [
dup [ object>bytes malloc-byte-array/length ] [ 0 ] if
] }
: do-postgresql-bound-statement ( statement -- res )
[
- >r db get handle>> r>
+ [ db get handle>> ] dip
{
[ sql>> ]
[ bind-params>> length ]
: pq-get-string ( handle row column -- obj )
3dup PQgetvalue utf8 alien>string
- dup empty? [ >r pq-get-is-null f r> ? ] [ 3nip ] if ;
+ dup empty? [ [ pq-get-is-null f ] dip ? ] [ 3nip ] if ;
: pq-get-number ( handle row column -- obj )
pq-get-string dup [ string>number ] when ;
3drop
] [
pick column-name>> 0%
- >r first2 r> interval-comparison 0%
+ [ first2 ] dip interval-comparison 0%
bind#
] if ;
: create-index ( index-name table-name columns -- )
[
- >r >r "create index " % % r> " on " % % r> "(" %
+ [ [ "create index " % % ] dip " on " % % ] 2dip "(" %
"," join % ")" %
] "" make sql-command ;