From fa8bab0b07d9aa9f1c546920971f41252434e285 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Sun, 30 May 2004 09:59:49 +0000 Subject: [PATCH] r9527: add function declarations for prepared statements --- db-mysql/mysql-api.lisp | 51 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/db-mysql/mysql-api.lisp b/db-mysql/mysql-api.lisp index 196a823..96d904c 100644 --- a/db-mysql/mysql-api.lisp +++ b/db-mysql/mysql-api.lisp @@ -263,6 +263,16 @@ (handle (:struct-pointer mysql-mysql)) (eof mysql-bool)) +#+mysql-client-v4.1 +(uffi:def-struct mysql-bind + (length (* :unsigned-long)) + (is-null (* :short)) + (buffer :pointer-void) + (buffer-type :int) + (buffer-length :unsigned-long) + ;; remainder of structure is for internal use + ) + ;;;; The Foreign C routines (declaim (inline mysql-init)) (uffi:def-function "mysql_init" @@ -521,6 +531,46 @@ :module "clsql-mysql" :returning :unsigned-int) +#+mysql-client-v4.1 +(uffi:def-foreign-type mysql-stmt-ptr :pointer-void) + +#+mysql-client-v4.1 +(uffi:def-function "mysql_stmt_init" + ((res (* mysql-mysql-res))) + :module "clsql-mysql" + :returning mysql-stmt-ptr) + +#+mysql-client-v4.1 +(uffi:def-function "mysql_stmt_bind_param" + ((stmt mysql-stmt-ptr) + (bind (* mysql-bind))) + :module "clsql-mysql" + :returning :short) + +#+mysql-client-v4.1 +(uffi:def-function "mysql_stmt_bind_result" + ((stmt mysql-stmt-ptr) + (bind (* mysql-bind))) + :module "clsql-mysql" + :returning :short) + +#+mysql-client-v4.1 +(uffi:def-function "mysql_stmt_execute" + ((stmt mysql-stmt-ptr)) + :module "clsql-mysql" + :returning :int) + +#+mysql-client-v4.1 +(uffi:def-function "mysql_stmt_fetch" + ((stmt mysql-stmt-ptr)) + :module "clsql-mysql" + :returning :int) + +#+mysql-client-v4.1 +(uffi:def-function "mysql_stmt_free_result" + ((stmt mysql-stmt-ptr)) + :module "clsql-mysql" + :returning :short) ;;;; Equivalents of C Macro definitions for accessing various fields ;;;; in the internal MySQL Datastructures @@ -616,7 +666,6 @@ :module "clsql-mysql" :returning :void) - (defun mysql-data-seek (res offset) (multiple-value-bind (high32 low32) (split-64-bit-integer offset) (clsql-mysql-data-seek res high32 low32))) -- 2.34.1