Paste: sql odbc ffi
Author: | Jim Mack |
Mode: | factor |
Date: | Wed, 10 Mar 2010 16:09:05 |
Plain Text |
USING: alien alien.libraries alien.strings alien.syntax alien.c-types
kernel combinators
;
IN: odbc.ffi
<< "odbc" "odbc32.dll" "stdcall" add-library >>
LIBRARY: odbc
TYPEDEF: void* usb_dev_handle*
TYPEDEF: short SQLRETURN
TYPEDEF: short SQLSMALLINT
TYPEDEF: short* SQLSMALLINT*
TYPEDEF: ushort SQLUSMALLINT
TYPEDEF: uint* SQLUINTEGER*
TYPEDEF: int SQLINTEGER
TYPEDEF: char SQLCHAR
TYPEDEF: char* SQLCHAR*
TYPEDEF: void* SQLHANDLE
TYPEDEF: void* SQLHANDLE*
TYPEDEF: void* SQLHENV
TYPEDEF: void* SQLHDBC
TYPEDEF: void* SQLHSTMT
TYPEDEF: void* SQLHWND
TYPEDEF: void* SQLPOINTER
: SQL-HANDLE-ENV 1 ; inline
: SQL-HANDLE-DBC 2 ; inline
: SQL-HANDLE-STMT 3 ; inline
: SQL-HANDLE-DESC 4 ; inline
: SQL-NULL-HANDLE f ; inline
: SQL-ATTR-ODBC-VERSION 200 ; inline
: SQL-OV-ODBC2 2 <alien> ; inline
: SQL-OV-ODBC3 3 <alien> ; inline
: SQL-SUCCESS 0 ; inline
: SQL-SUCCESS-WITH-INFO 1 ; inline
: SQL-NO-DATA-FOUND 100 ; inline
: SQL-DRIVER-NOPROMPT 0 ; inline
: SQL-DRIVER-PROMPT 2 ; inline
: SQL-C-DEFAULT 99 ; inline
SYMBOL: SQL-CHAR
SYMBOL: SQL-VARCHAR
SYMBOL: SQL-LONGVARCHAR
SYMBOL: SQL-WCHAR
SYMBOL: SQL-WCHARVAR
SYMBOL: SQL-WLONGCHARVAR
SYMBOL: SQL-DECIMAL
SYMBOL: SQL-SMALLINT
SYMBOL: SQL-NUMERIC
SYMBOL: SQL-INTEGER
SYMBOL: SQL-REAL
SYMBOL: SQL-FLOAT
SYMBOL: SQL-DOUBLE
SYMBOL: SQL-BIT
SYMBOL: SQL-TINYINT
SYMBOL: SQL-BIGINT
SYMBOL: SQL-BINARY
SYMBOL: SQL-VARBINARY
SYMBOL: SQL-LONGVARBINARY
SYMBOL: SQL-TYPE-DATE
SYMBOL: SQL-TYPE-TIME
SYMBOL: SQL-TYPE-TIMESTAMP
SYMBOL: SQL-TYPE-UTCDATETIME
SYMBOL: SQL-TYPE-UTCTIME
SYMBOL: SQL-INTERVAL-MONTH
SYMBOL: SQL-INTERVAL-YEAR
SYMBOL: SQL-INTERVAL-YEAR-TO-MONTH
SYMBOL: SQL-INTERVAL-DAY
SYMBOL: SQL-INTERVAL-HOUR
SYMBOL: SQL-INTERVAL-MINUTE
SYMBOL: SQL-INTERVAL-SECOND
SYMBOL: SQL-INTERVAL-DAY-TO-HOUR
SYMBOL: SQL-INTERVAL-DAY-TO-MINUTE
SYMBOL: SQL-INTERVAL-DAY-TO-SECOND
SYMBOL: SQL-INTERVAL-HOUR-TO-MINUTE
SYMBOL: SQL-INTERVAL-HOUR-TO-SECOND
SYMBOL: SQL-INTERVAL-MINUTE-TO-SECOND
SYMBOL: SQL-GUID
SYMBOL: SQL-TYPE-UNKNOWN
SYMBOL: SQL-MONEY
: convert-sql-type
{
{ 1 [ SQL-CHAR ] }
{ 12 [ SQL-VARCHAR ] }
{ -1 [ SQL-LONGVARCHAR ] }
{ -8 [ SQL-WCHAR ] }
{ -9 [ SQL-WCHARVAR ] }
{ -10 [ SQL-WLONGCHARVAR ] }
{ 3 [ SQL-DECIMAL ] }
{ 5 [ SQL-SMALLINT ] }
{ 2 [ SQL-NUMERIC ] }
{ 4 [ SQL-INTEGER ] }
{ 7 [ SQL-REAL ] }
{ 6 [ SQL-FLOAT ] }
{ 8 [ SQL-DOUBLE ] }
{ -7 [ SQL-BIT ] }
{ -6 [ SQL-TINYINT ] }
{ -5 [ SQL-BIGINT ] }
{ -2 [ SQL-BINARY ] }
{ -3 [ SQL-VARBINARY ] }
{ -4 [ SQL-LONGVARBINARY ] }
{ 91 [ SQL-TYPE-DATE ] }
{ 92 [ SQL-TYPE-TIME ] }
{ 93 [ SQL-TYPE-TIMESTAMP ] }
[ drop SQL-TYPE-UNKNOWN ]
} case ;
: succeeded?
{
{ SQL-SUCCESS [ t ] }
{ SQL-SUCCESS-WITH-INFO [ t ] }
[ drop f ]
} case ;
FUNCTION: SQLRETURN SQLAllocHandle ;
FUNCTION: SQLRETURN SQLSetEnvAttr ;
FUNCTION: SQLRETURN SQLDriverConnect ;
FUNCTION: SQLRETURN SQLDisconnect ;
FUNCTION: SQLRETURN SQLPrepare ;
FUNCTION: SQLRETURN SQLExecute ;
FUNCTION: SQLRETURN SQLFreeHandle ;
FUNCTION: SQLRETURN SQLFetch ;
FUNCTION: SQLRETURN SQLNumResultCols ;
FUNCTION: SQLRETURN SQLDescribeCol ;
FUNCTION: SQLRETURN SQLGetData ;
New Annotation