projects
/
clsql.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Changes to more broadly support auto-increment. new odbc-postgresql-database type
[clsql.git]
/
db-odbc
/
odbc-ff-interface.lisp
diff --git
a/db-odbc/odbc-ff-interface.lisp
b/db-odbc/odbc-ff-interface.lisp
index 864436dac09712e4f612dd003505ad8ad14b2c4c..0fa0824f008ef5bb68a9b062a0032a7a055cc800 100644
(file)
--- a/
db-odbc/odbc-ff-interface.lisp
+++ b/
db-odbc/odbc-ff-interface.lisp
@@
-6,8
+6,6
@@
;;;; Purpose: Function definitions for UFFI interface to ODBC
;;;; Author: Kevin M. Rosenberg
;;;;
;;;; Purpose: Function definitions for UFFI interface to ODBC
;;;; Author: Kevin M. Rosenberg
;;;;
-;;;; $Id: odbc-package.lisp 7061 2003-09-07 06:34:45Z kevin $
-;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2004 by Kevin M. Rosenberg
;;;; and Copyright (C) Paul Meurer 1999 - 2001. All rights reserved.
;;;;
;;;; This file, part of CLSQL, is Copyright (c) 2004 by Kevin M. Rosenberg
;;;; and Copyright (C) Paul Meurer 1999 - 2001. All rights reserved.
;;;;
@@
-19,17
+17,34
@@
(in-package #:odbc)
(def-foreign-type sql-handle :pointer-void)
(in-package #:odbc)
(def-foreign-type sql-handle :pointer-void)
-(def-foreign-type sql-handle-ptr
'
(* sql-handle))
-(def-foreign-type string-ptr
'
(* :unsigned-char))
-(def-type long-ptr-type
'(* :long
))
+(def-foreign-type sql-handle-ptr (* sql-handle))
+(def-foreign-type string-ptr (* :unsigned-char))
+(def-type long-ptr-type
(* #.$ODBC-LONG-TYPE
))
+;; ODBC3
+(def-function "SQLAllocHandle"
+ ((handle-type :short)
+ (input-handle sql-handle)
+ (*phenv sql-handle-ptr))
+ :module "odbc"
+ :returning :short)
+;; ODBC3 version of SQLFreeStmt, SQLFreeConnect, and SSQLFreeStmt
+(def-function "SQLFreeHandle"
+ ((handle-type :short) ; HandleType
+ (input-handle sql-handle)) ; Handle
+ :module "odbc"
+ :returning :short) ; RETCODE_SQL_API
+
+
+;; deprecated
(def-function "SQLAllocEnv"
((*phenv sql-handle-ptr) ; HENV FAR *phenv
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
(def-function "SQLAllocEnv"
((*phenv sql-handle-ptr) ; HENV FAR *phenv
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
+;; deprecated
(def-function "SQLAllocConnect"
((henv sql-handle) ; HENV henv
(*phdbc sql-handle-ptr) ; HDBC FAR *phdbc
(def-function "SQLAllocConnect"
((henv sql-handle) ; HENV henv
(*phdbc sql-handle-ptr) ; HDBC FAR *phdbc
@@
-41,7
+56,7
@@
((hdbc sql-handle) ; HDBC hdbc
(*szDSN :cstring) ; UCHAR FAR *szDSN
(cbDSN :short) ; SWORD cbDSN
((hdbc sql-handle) ; HDBC hdbc
(*szDSN :cstring) ; UCHAR FAR *szDSN
(cbDSN :short) ; SWORD cbDSN
- (*szUID :cstring) ; UCHAR FAR *szUID
+ (*szUID :cstring) ; UCHAR FAR *szUID
(cbUID :short) ; SWORD cbUID
(*szAuthStr :cstring) ; UCHAR FAR *szAuthStr
(cbAuthStr :short) ; SWORD cbAuthStr
(cbUID :short) ; SWORD cbUID
(*szAuthStr :cstring) ; UCHAR FAR *szAuthStr
(cbAuthStr :short) ; SWORD cbAuthStr
@@
-52,7
+67,7
@@
(def-function "SQLDriverConnect"
((hdbc sql-handle) ; HDBC hdbc
(hwnd sql-handle) ; SQLHWND hwnd
(def-function "SQLDriverConnect"
((hdbc sql-handle) ; HDBC hdbc
(hwnd sql-handle) ; SQLHWND hwnd
- (*szConnStrIn
string-ptr)
; UCHAR FAR *szConnStrIn
+ (*szConnStrIn
:cstring)
; UCHAR FAR *szConnStrIn
(cbConnStrIn :short) ; SWORD cbConnStrIn
(*szConnStrOut string-ptr) ; UCHAR FAR *szConnStrOut
(cbConnStrOutMax :short) ; SWORD cbConnStrOutMax
(cbConnStrIn :short) ; SWORD cbConnStrIn
(*szConnStrOut string-ptr) ; UCHAR FAR *szConnStrOut
(cbConnStrOutMax :short) ; SWORD cbConnStrOutMax
@@
-66,7
+81,15
@@
((hdbc sql-handle)) ; HDBC hdbc
:module "odbc"
:returning :short) ; RETCODE_SQL_API
((hdbc sql-handle)) ; HDBC hdbc
:module "odbc"
:returning :short) ; RETCODE_SQL_API
-
+
+
+;;deprecated
+(def-function "SQLFreeConnect"
+ ((hdbc sql-handle)) ; HDBC hdbc
+ :module "odbc"
+ :returning :short) ; RETCODE_SQL_API
+
+;; deprecated
(def-function "SQLAllocStmt"
((hdbc sql-handle) ; HDBC hdbc
(*phstmt sql-handle-ptr) ; HSTMT FAR *phstmt
(def-function "SQLAllocStmt"
((hdbc sql-handle) ; HDBC hdbc
(*phstmt sql-handle-ptr) ; HSTMT FAR *phstmt
@@
-87,7
+110,7
@@
(def-function "SQLPrepare"
((hstmt sql-handle) ; HSTMT hstmt
(*szSqlStr :cstring) ; UCHAR FAR *szSqlStr
(def-function "SQLPrepare"
((hstmt sql-handle) ; HSTMT hstmt
(*szSqlStr :cstring) ; UCHAR FAR *szSqlStr
- (cbSqlStr :
long
) ; SDWORD cbSqlStr
+ (cbSqlStr :
int
) ; SDWORD cbSqlStr
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-101,7
+124,7
@@
(def-function "SQLExecDirect"
((hstmt sql-handle) ; HSTMT hstmt
(*szSqlStr :cstring) ; UCHAR FAR *szSqlStr
(def-function "SQLExecDirect"
((hstmt sql-handle) ; HSTMT hstmt
(*szSqlStr :cstring) ; UCHAR FAR *szSqlStr
- (cbSqlStr :
long
) ; SDWORD cbSqlStr
+ (cbSqlStr :
int
) ; SDWORD cbSqlStr
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-123,24
+146,24
@@
(hdbc sql-handle) ; HDBC hdbc
(hstmt sql-handle) ; HSTMT hstmt
(*szSqlState string-ptr) ; UCHAR FAR *szSqlState
(hdbc sql-handle) ; HDBC hdbc
(hstmt sql-handle) ; HSTMT hstmt
(*szSqlState string-ptr) ; UCHAR FAR *szSqlState
- (*pfNativeError
:pointer-void
) ; SDWORD FAR *pfNativeError
+ (*pfNativeError
(* :int)
) ; SDWORD FAR *pfNativeError
(*szErrorMsg string-ptr) ; UCHAR FAR *szErrorMsg
(cbErrorMsgMax :short) ; SWORD cbErrorMsgMax
(*szErrorMsg string-ptr) ; UCHAR FAR *szErrorMsg
(cbErrorMsgMax :short) ; SWORD cbErrorMsgMax
- (*pcbErrorMsg
:pointer-void
) ; SWORD FAR *pcbErrorMsg
+ (*pcbErrorMsg
(* :short)
) ; SWORD FAR *pcbErrorMsg
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
(def-function "SQLNumResultCols"
((hstmt sql-handle) ; HSTMT hstmt
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
(def-function "SQLNumResultCols"
((hstmt sql-handle) ; HSTMT hstmt
- (*pccol
:pointer-void
) ; SWORD FAR *pccol
+ (*pccol
(* :short)
) ; SWORD FAR *pccol
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
(def-function "SQLRowCount"
((hstmt sql-handle) ; HSTMT hstmt
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
(def-function "SQLRowCount"
((hstmt sql-handle) ; HSTMT hstmt
- (*pcrow
:pointer-void
) ; SDWORD FAR *pcrow
+ (*pcrow
(* :int)
) ; SDWORD FAR *pcrow
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-150,11
+173,11
@@
(icol :short) ; UWORD icol
(*szColName string-ptr) ; UCHAR FAR *szColName
(cbColNameMax :short) ; SWORD cbColNameMax
(icol :short) ; UWORD icol
(*szColName string-ptr) ; UCHAR FAR *szColName
(cbColNameMax :short) ; SWORD cbColNameMax
- (*pcbColName
:pointer-void
) ; SWORD FAR *pcbColName
- (*pfSqlType
:pointer-void
) ; SWORD FAR *pfSqlType
- (*pcbColDef
:pointer-void
) ; UDWORD FAR *pcbColDef
- (*pibScale
:pointer-void
) ; SWORD FAR *pibScale
- (*pfNullable
:pointer-void
) ; SWORD FAR *pfNullable
+ (*pcbColName
(* :short)
) ; SWORD FAR *pcbColName
+ (*pfSqlType
(* :short)
) ; SWORD FAR *pfSqlType
+ (*pcbColDef
(* #.$ODBC-ULONG-TYPE)
) ; UDWORD FAR *pcbColDef
+ (*pibScale
(* :short)
) ; SWORD FAR *pibScale
+ (*pfNullable
(* :short)
) ; SWORD FAR *pfNullable
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-163,10
+186,10
@@
((hstmt sql-handle) ; HSTMT hstmt
(icol :short) ; UWORD icol
(fDescType :short) ; UWORD fDescType
((hstmt sql-handle) ; HSTMT hstmt
(icol :short) ; UWORD icol
(fDescType :short) ; UWORD fDescType
- (rgbDesc
:cstring
) ; PTR rgbDesc
+ (rgbDesc
string-ptr
) ; PTR rgbDesc
(cbDescMax :short) ; SWORD cbDescMax
(cbDescMax :short) ; SWORD cbDescMax
- (*pcbDesc
:cstring
) ; SWORD FAR *pcbDesc
- (*pfDesc
:pointer-void
) ; SDWORD FAR *pfDesc
+ (*pcbDesc
(* :short)
) ; SWORD FAR *pcbDesc
+ (*pfDesc
(* :int)
) ; SDWORD FAR *pfDesc
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-190,8
+213,8
@@
(icol :short) ; UWORD icol
(fCType :short) ; SWORD fCType
(rgbValue :pointer-void) ; PTR rgbValue
(icol :short) ; UWORD icol
(fCType :short) ; SWORD fCType
(rgbValue :pointer-void) ; PTR rgbValue
- (cbValueMax :
long
) ; SDWORD cbValueMax
- (*pcbValue
:pointer-void
) ; SDWORD FAR *pcbValue
+ (cbValueMax :
int
) ; SDWORD cbValueMax
+ (*pcbValue
(* :int)
) ; SDWORD FAR *pcbValue
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-214,10
+237,10
@@
(def-function "SQLDescribeParam"
((hstmt sql-handle) ; HSTMT hstmt
(ipar :short) ; UWORD ipar
(def-function "SQLDescribeParam"
((hstmt sql-handle) ; HSTMT hstmt
(ipar :short) ; UWORD ipar
- (*pfSqlType
:pointer-void
) ; SWORD FAR *pfSqlType
- (*pcbColDef
:pointer-void
) ; UDWORD FAR *pcbColDef
- (*pibScale
:pointer-void
) ; SWORD FAR *pibScale
- (*pfNullable
:pointer-void
) ; SWORD FAR *pfNullable
+ (*pfSqlType
(* :short)
) ; SWORD FAR *pfSqlType
+ (*pcbColDef
(* :unsigned-int)
) ; UDWORD FAR *pcbColDef
+ (*pibScale
(* :short)
) ; SWORD FAR *pibScale
+ (*pfNullable
(* :short)
) ; SWORD FAR *pfNullable
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-229,10
+252,10
@@
(fParamType :short) ; SWORD fParamType
(fCType :short) ; SWORD fCType
(fSqlType :short) ; SWORD fSqlType
(fParamType :short) ; SWORD fParamType
(fCType :short) ; SWORD fCType
(fSqlType :short) ; SWORD fSqlType
- (cbColDef :
long
) ; UDWORD cbColDef
+ (cbColDef :
int
) ; UDWORD cbColDef
(ibScale :short) ; SWORD ibScale
(rgbValue :pointer-void) ; PTR rgbValue
(ibScale :short) ; SWORD ibScale
(rgbValue :pointer-void) ; PTR rgbValue
- (cbValueMax :
long
) ; SDWORD cbValueMax
+ (cbValueMax :
int
) ; SDWORD cbValueMax
(*pcbValue :pointer-void) ; SDWORD FAR *pcbValue
)
:module "odbc"
(*pcbValue :pointer-void) ; SDWORD FAR *pcbValue
)
:module "odbc"
@@
-244,7
+267,7
@@
(icol :short) ; UWORD icol
(fCType :short) ; SWORD fCType
(rgbValue :pointer-void) ; PTR rgbValue
(icol :short) ; UWORD icol
(fCType :short) ; SWORD fCType
(rgbValue :pointer-void) ; PTR rgbValue
- (cbValueMax :
long
) ; SDWORD cbValueMax
+ (cbValueMax :
int
) ; SDWORD cbValueMax
(*pcbValue :pointer-void) ; SDWORD FAR *pcbValue
)
:module "odbc"
(*pcbValue :pointer-void) ; SDWORD FAR *pcbValue
)
:module "odbc"
@@
-260,7
+283,7
@@
(def-function "SQLPutData"
((hstmt sql-handle) ; HSTMT hstmt
(rgbValue :pointer-void) ; PTR rgbValue
(def-function "SQLPutData"
((hstmt sql-handle) ; HSTMT hstmt
(rgbValue :pointer-void) ; PTR rgbValue
- (cbValue :
long
) ; SDWORD cbValue
+ (cbValue :
int
) ; SDWORD cbValue
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-276,7
+299,7
@@
(def-function "SQLSetConnectOption"
((hdbc sql-handle) ; HDBC hdbc
(fOption :short) ; UWORD fOption
(def-function "SQLSetConnectOption"
((hdbc sql-handle) ; HDBC hdbc
(fOption :short) ; UWORD fOption
- (vParam :
long
) ; UDWORD vParam
+ (vParam :
int
) ; UDWORD vParam
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-290,11
+313,11
@@
:module "odbc"
:returning :short) ; RETCODE_SQL_API
:module "odbc"
:returning :short) ; RETCODE_SQL_API
- ; level 2
+
; level 2
(def-function "SQLExtendedFetch"
((hstmt sql-handle) ; HSTMT hstmt
(fFetchType :short) ; UWORD fFetchType
(def-function "SQLExtendedFetch"
((hstmt sql-handle) ; HSTMT hstmt
(fFetchType :short) ; UWORD fFetchType
- (irow :
long
) ; SDWORD irow
+ (irow :
int
) ; SDWORD irow
(*pcrow :pointer-void) ; UDWORD FAR *pcrow
(*rgfRowStatus :pointer-void) ; UWORD FAR *rgfRowStatus
)
(*pcrow :pointer-void) ; UDWORD FAR *pcrow
(*rgfRowStatus :pointer-void) ; UWORD FAR *rgfRowStatus
)
@@
-306,10
+329,10
@@
(fDirection :short)
(*szDSN string-ptr) ; UCHAR FAR *szDSN
(cbDSNMax :short) ; SWORD cbDSNMax
(fDirection :short)
(*szDSN string-ptr) ; UCHAR FAR *szDSN
(cbDSNMax :short) ; SWORD cbDSNMax
- (*pcbDSN
:pointer-void
) ; SWORD *pcbDSN
+ (*pcbDSN
(* :short)
) ; SWORD *pcbDSN
(*szDescription string-ptr) ; UCHAR *szDescription
(cbDescriptionMax :short) ; SWORD cbDescriptionMax
(*szDescription string-ptr) ; UCHAR *szDescription
(cbDescriptionMax :short) ; SWORD cbDescriptionMax
- (*pcbDescription
:pointer-void
) ; SWORD *pcbDescription
+ (*pcbDescription
(* :short)
) ; SWORD *pcbDescription
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
)
:module "odbc"
:returning :short) ; RETCODE_SQL_API
@@
-323,11
+346,11
@@
;;; foreign type definitions
;;; foreign type definitions
-;;(defmacro %sql-len-data-at-exec (length)
+;;(defmacro %sql-len-data-at-exec (length)
;; `(- $SQL_LEN_DATA_AT_EXEC_OFFSET ,length))
;; `(- $SQL_LEN_DATA_AT_EXEC_OFFSET ,length))
-(def-struct sql-c-time
+(def-struct sql-c-time
(hour :short)
(minute :short)
(second :short))
(hour :short)
(minute :short)
(second :short))
@@
-336,7
+359,7
@@
(year :short)
(month :short)
(day :short))
(year :short)
(month :short)
(day :short))
-
+
(def-struct sql-c-timestamp
(year :short)
(month :short)
(def-struct sql-c-timestamp
(year :short)
(month :short)
@@
-344,7
+367,7
@@
(hour :short)
(minute :short)
(second :short)
(hour :short)
(minute :short)
(second :short)
- (fraction :
long
))
+ (fraction :
int
))
;;; Added by KMR
;;; Added by KMR
@@
-354,7
+377,16
@@
(*value :pointer-void)
(szLength :int))
:module "odbc"
(*value :pointer-void)
(szLength :int))
:module "odbc"
- :returning :int)
+ :returning :short)
+
+(def-function "SQLGetEnvAttr"
+ ((henv sql-handle) ; HENV henv
+ (attr :int)
+ (*value :pointer-void)
+ (szLength :int)
+ (string-length-ptr (* :int)))
+ :module "odbc"
+ :returning :short)
(def-function "SQLTables"
((hstmt :pointer-void)
(def-function "SQLTables"
((hstmt :pointer-void)
@@
-366,6
+398,21
@@
(table-name-length :short)
(table-type-name :pointer-void)
(table-type-name-length :short))
(table-name-length :short)
(table-type-name :pointer-void)
(table-type-name-length :short))
+ :module "odbc"
+ :returning :short)
+
+
+(def-function "SQLStatistics"
+ ((hstmt :pointer-void)
+ (catalog-name :pointer-void)
+ (catalog-name-length :short)
+ (schema-name :pointer-void)
+ (schema-name-length :short)
+ (table-name :cstring)
+ (table-name-length :short)
+ (unique :short)
+ (reserved :short))
+ :module "odbc"
:returning :short)
:returning :short)