From b461346e66458c0155e91c6f0e8db4e32c6e7dfa Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 4 Feb 2011 15:00:03 +0000 Subject: [PATCH] 2011-02-04 15:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbsqlit3/hbsqlit3.c ! Fixed recent additions to always define Harbour level functions and return dummy value if low-level functionality is not available in an actual build: SQLITE3_ENABLE_LOAD_EXTENSION() SQLITE3_TABLE_COLUMN_METADATA() SQLITE3_COLUMN_DATABASE_NAME() SQLITE3_COLUMN_TABLE_NAME() SQLITE3_COLUMN_ORIGIN_NAME() --- harbour/ChangeLog | 11 +++++++++++ harbour/contrib/hbsqlit3/hbsqlit3.c | 22 ++++++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/harbour/ChangeLog b/harbour/ChangeLog index e506701d6c..4f3c445177 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,17 @@ The license applies to all entries newer than 2009-04-28. */ +2011-02-04 15:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbsqlit3/hbsqlit3.c + ! Fixed recent additions to always define Harbour level + functions and return dummy value if low-level functionality + is not available in an actual build: + SQLITE3_ENABLE_LOAD_EXTENSION() + SQLITE3_TABLE_COLUMN_METADATA() + SQLITE3_COLUMN_DATABASE_NAME() + SQLITE3_COLUMN_TABLE_NAME() + SQLITE3_COLUMN_ORIGIN_NAME() + 2011-02-03 01:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbssl/hbssl.hbp * contrib/hbssl/hbssl.hbm diff --git a/harbour/contrib/hbsqlit3/hbsqlit3.c b/harbour/contrib/hbsqlit3/hbsqlit3.c index 4a78ddb6ec..34a80c2578 100644 --- a/harbour/contrib/hbsqlit3/hbsqlit3.c +++ b/harbour/contrib/hbsqlit3/hbsqlit3.c @@ -1372,9 +1372,13 @@ HB_FUNC( SQLITE3_ENABLE_LOAD_EXTENSION ) HB_SQLITE3 * pHbSqlite3 = ( HB_SQLITE3 * ) hb_sqlite3_param( 1, HB_SQLITE3_DB, HB_TRUE ); if( pHbSqlite3 && pHbSqlite3->db ) + { hb_retni( sqlite3_enable_load_extension( pHbSqlite3->db, hb_parl( 2 ) ) ); + } else hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, 1, hb_paramError( 1 ) ); +#else + hb_retni( -1 ); #endif /* SQLITE_OMIT_LOAD_EXTENSION */ } @@ -1473,9 +1477,9 @@ HB_FUNC( SQLITE3_GET_TABLE ) ); */ -#ifdef SQLITE_ENABLE_COLUMN_METADATA HB_FUNC( SQLITE3_TABLE_COLUMN_METADATA ) { +#ifdef SQLITE_ENABLE_COLUMN_METADATA HB_SQLITE3 * pHbSqlite3 = ( HB_SQLITE3 * ) hb_sqlite3_param( 1, HB_SQLITE3_DB, HB_TRUE ); if( pHbSqlite3 && pHbSqlite3->db ) @@ -1523,6 +1527,9 @@ HB_FUNC( SQLITE3_TABLE_COLUMN_METADATA ) } else hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, 1, hb_paramError( 1 ) ); +#else + hb_reta( 0 ); +#endif /* SQLITE_ENABLE_COLUMN_METADATA */ } /** @@ -1535,34 +1542,45 @@ HB_FUNC( SQLITE3_TABLE_COLUMN_METADATA ) HB_FUNC( SQLITE3_COLUMN_DATABASE_NAME ) { +#ifdef SQLITE_ENABLE_COLUMN_METADATA psqlite3_stmt pStmt = ( psqlite3_stmt ) hb_parptr( 1 ); if( pStmt ) hb_retstr_utf8( sqlite3_column_database_name( pStmt, hb_parni( 2 ) - 1 ) ); else hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, 1, hb_paramError( 1 ) ); +#else + hb_retc_null(); +#endif /* SQLITE_ENABLE_COLUMN_METADATA */ } HB_FUNC( SQLITE3_COLUMN_TABLE_NAME ) { +#ifdef SQLITE_ENABLE_COLUMN_METADATA psqlite3_stmt pStmt = ( psqlite3_stmt ) hb_parptr( 1 ); if( pStmt ) hb_retstr_utf8( sqlite3_column_table_name( pStmt, hb_parni( 2 ) - 1 ) ); else hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, 1, hb_paramError( 1 ) ); +#else + hb_retc_null(); +#endif /* SQLITE_ENABLE_COLUMN_METADATA */ } HB_FUNC( SQLITE3_COLUMN_ORIGIN_NAME ) { +#ifdef SQLITE_ENABLE_COLUMN_METADATA psqlite3_stmt pStmt = ( psqlite3_stmt ) hb_parptr( 1 ); if( pStmt ) hb_retstr_utf8( sqlite3_column_origin_name( pStmt, hb_parni( 2 ) - 1 ) ); else hb_errRT_BASE_SubstR( EG_ARG, 0, NULL, HB_ERR_FUNCNAME, 1, hb_paramError( 1 ) ); -} +#else + hb_retc_null(); #endif /* SQLITE_ENABLE_COLUMN_METADATA */ +} /* BLOB I/O