From e6cac4e8a3492f1ad9e7489f374ba61eb3838764 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sun, 18 Nov 2012 12:33:09 +0000 Subject: [PATCH] 2012-11-18 13:27 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbodbc/hbodbc.hbx * contrib/hbodbc/odbc.c - Deleted SQLBINDPARAMETER(). Thus resolving the TOFIX, and after reading more about this function, it serves to bind stmt parameter to C memory buffers, where those bindings remain active for the lifetime of the stmt or the next call to this function. Such behavior is not so much useful for high level languages, and it'd be quite complicated to solve (f.e. by keeping an array or hash around, attached to the stmt handle) compared to what it offers. Anyways, if someone feels like giving it a go, pls do. --- harbour/ChangeLog | 14 ++++++++++++++ harbour/contrib/hbodbc/hbodbc.hbx | 1 - harbour/contrib/hbodbc/odbc.c | 25 ------------------------- 3 files changed, 14 insertions(+), 26 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index cc1cfbf788..a406426a36 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,20 @@ The license applies to all entries newer than 2009-04-28. */ +2012-11-18 13:27 UTC+0100 Viktor Szakats (harbour syenar.net) + * contrib/hbodbc/hbodbc.hbx + * contrib/hbodbc/odbc.c + - Deleted SQLBINDPARAMETER(). Thus resolving the TOFIX, + and after reading more about this function, it serves + to bind stmt parameter to C memory buffers, where those + bindings remain active for the lifetime of the stmt or + the next call to this function. Such behavior is not so + much useful for high level languages, and it'd be quite + complicated to solve (f.e. by keeping an array or hash + around, attached to the stmt handle) compared to what + it offers. Anyways, if someone feels like giving it a + go, pls do. + 2012-11-18 13:15 UTC+0100 Viktor Szakats (harbour syenar.net) * bin/commit.hb + support HBCOMMIT_USER envvar to configure commmiter diff --git a/harbour/contrib/hbodbc/hbodbc.hbx b/harbour/contrib/hbodbc/hbodbc.hbx index 7c14cdc1b3..13a33d6b05 100644 --- a/harbour/contrib/hbodbc/hbodbc.hbx +++ b/harbour/contrib/hbodbc/hbodbc.hbx @@ -28,7 +28,6 @@ DYNAMIC hb_odbcVer DYNAMIC SQLAllocConnect DYNAMIC SQLAllocEnv DYNAMIC SQLAllocStmt -DYNAMIC SQLBindParameter DYNAMIC SQLColAttribute DYNAMIC SQLCommit DYNAMIC SQLConnect diff --git a/harbour/contrib/hbodbc/odbc.c b/harbour/contrib/hbodbc/odbc.c index 25b2b67f8a..e67901266d 100644 --- a/harbour/contrib/hbodbc/odbc.c +++ b/harbour/contrib/hbodbc/odbc.c @@ -1068,31 +1068,6 @@ HB_FUNC( SQLMORERESULTS ) /* hEnv, hDbc */ hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); } -HB_FUNC( SQLBINDPARAMETER ) /* nStatementHandle, nParameterNumber, nParameterType, ColumnSize, DecimalDigits, @ParamValue, @ParamLength --> nRetCode */ -{ - SQLHSTMT hStmt = hb_SQLHSTMT_par( 1 ); - - if( hStmt ) - { - SQLLEN nLen = ( SQLLEN ) hb_parnint( 7 ); - - /* TOFIX: hb_parc() pointer is passed as write buffer */ - hb_retni( SQLBindParameter( hStmt, - ( SQLUSMALLINT ) hb_parni( 2 ), - ( SQLSMALLINT ) SQL_PARAM_OUTPUT, - ( SQLSMALLINT ) SQL_CHAR, - ( SQLSMALLINT ) hb_parni( 3 ), - ( SQLULEN ) hb_parnint( 4 ), - ( SQLSMALLINT ) hb_parni( 5 ), - ( SQLPOINTER ) hb_parcx( 6 ), - ( SQLLEN ) hb_parclen( 6 ), - ( SQLLEN * ) &nLen ) ); - hb_stornint( nLen, 7 ); - } - else - hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS ); -} - HB_FUNC( HB_ODBCSTOD ) { if( hb_parclen( 1 ) >= 10 )