more refactoring
							parent
							
								
									3be408184c
								
							
						
					
					
						commit
						b0ddc983ef
					
				| 
						 | 
					@ -44,7 +44,7 @@ M: postgresql-result-null summary ( obj -- str )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: do-postgresql-statement ( statement -- res )
 | 
					: do-postgresql-statement ( statement -- res )
 | 
				
			||||||
    db get handle>> swap sql>> PQexec dup postgresql-result-ok? [
 | 
					    db get handle>> swap sql>> PQexec dup postgresql-result-ok? [
 | 
				
			||||||
        dup postgresql-result-error-message swap PQclear throw
 | 
					        [ postgresql-result-error-message ] [ PQclear ] bi throw
 | 
				
			||||||
    ] unless ;
 | 
					    ] unless ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: type>oid ( symbol -- n )
 | 
					: type>oid ( symbol -- n )
 | 
				
			||||||
| 
						 | 
					@ -165,4 +165,3 @@ M: postgresql-malloc-destructor dispose ( obj -- )
 | 
				
			||||||
            dup [ bytes>object ] when ] }
 | 
					            dup [ bytes>object ] when ] }
 | 
				
			||||||
        [ no-sql-type ]
 | 
					        [ no-sql-type ]
 | 
				
			||||||
    } case ;
 | 
					    } case ;
 | 
				
			||||||
    ! PQgetlength PQgetisnull
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -53,12 +53,15 @@ M: postgresql-result-set #rows ( result-set -- n )
 | 
				
			||||||
M: postgresql-result-set #columns ( result-set -- n )
 | 
					M: postgresql-result-set #columns ( result-set -- n )
 | 
				
			||||||
    handle>> PQnfields ;
 | 
					    handle>> PQnfields ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					: result-handle-n ( result-set -- handle n )
 | 
				
			||||||
 | 
					    [ handle>> ] [ n>> ] bi ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: postgresql-result-set row-column ( result-set column -- obj )
 | 
					M: postgresql-result-set row-column ( result-set column -- obj )
 | 
				
			||||||
    >r [ handle>> ] [ n>> ] bi r> pq-get-string ;
 | 
					    >r result-handle-n r> pq-get-string ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: postgresql-result-set row-column-typed ( result-set column -- obj )
 | 
					M: postgresql-result-set row-column-typed ( result-set column -- obj )
 | 
				
			||||||
    dup pick out-params>> nth type>>
 | 
					    dup pick out-params>> nth type>>
 | 
				
			||||||
    >r >r [ handle>> ] [ n>> ] bi r> r> postgresql-column-typed ;
 | 
					    >r >r result-handle-n r> r> postgresql-column-typed ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: postgresql-statement query-results ( query -- result-set )
 | 
					M: postgresql-statement query-results ( query -- result-set )
 | 
				
			||||||
    dup bind-params>> [
 | 
					    dup bind-params>> [
 | 
				
			||||||
| 
						 | 
					@ -234,7 +237,6 @@ M: postgresql-db <delete-tuple-statement> ( class -- statement )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
M: postgresql-db <select-by-slots-statement> ( tuple class -- statement )
 | 
					M: postgresql-db <select-by-slots-statement> ( tuple class -- statement )
 | 
				
			||||||
    [
 | 
					    [
 | 
				
			||||||
    ! tuple columns table
 | 
					 | 
				
			||||||
        "select " 0%
 | 
					        "select " 0%
 | 
				
			||||||
        over [ ", " 0% ]
 | 
					        over [ ", " 0% ]
 | 
				
			||||||
        [ dup column-name>> 0% 2, ] interleave
 | 
					        [ dup column-name>> 0% 2, ] interleave
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue