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.
This commit is contained in:
Viktor Szakats
2012-11-18 12:33:09 +00:00
parent ca12db1aae
commit e6cac4e8a3
3 changed files with 14 additions and 26 deletions

View File

@@ -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

View File

@@ -28,7 +28,6 @@ DYNAMIC hb_odbcVer
DYNAMIC SQLAllocConnect
DYNAMIC SQLAllocEnv
DYNAMIC SQLAllocStmt
DYNAMIC SQLBindParameter
DYNAMIC SQLColAttribute
DYNAMIC SQLCommit
DYNAMIC SQLConnect

View File

@@ -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 )