2014-09-25 00:04 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/sddsqlt3/core.c
+ map columns with SQLITE_NULL values as HB_FT_ANY fields
This commit is contained in:
@@ -10,6 +10,10 @@
|
||||
* Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment
|
||||
*/
|
||||
|
||||
2014-09-25 00:04 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* contrib/sddsqlt3/core.c
|
||||
+ map columns with SQLITE_NULL values as HB_FT_ANY fields
|
||||
|
||||
2014-09-23 13:18 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
|
||||
* contrib/hbcurl/core.c
|
||||
! added protection against operation on NULL pointers borrowed from
|
||||
|
||||
@@ -334,6 +334,10 @@ static HB_ERRCODE sqlite3Open( SQLBASEAREAP pArea )
|
||||
pFieldInfo.uiType = HB_FT_BLOB;
|
||||
break;
|
||||
|
||||
case SQLITE_NULL:
|
||||
pFieldInfo.uiType = HB_FT_ANY;
|
||||
break;
|
||||
|
||||
default:
|
||||
#if 0
|
||||
HB_TRACE( HB_TR_ALWAYS, ( "new sql type=%d", iDataType ) );
|
||||
@@ -369,6 +373,10 @@ static HB_ERRCODE sqlite3Open( SQLBASEAREAP pArea )
|
||||
pItem = hb_itemPutNDLen( NULL, 0.0, pFieldInfo.uiLen, pFieldInfo.uiDec );
|
||||
break;
|
||||
|
||||
case HB_FT_ANY:
|
||||
pItem = hb_itemNew( NULL );
|
||||
break;
|
||||
|
||||
default:
|
||||
pItem = hb_itemNew( NULL );
|
||||
bError = HB_TRUE;
|
||||
@@ -442,8 +450,28 @@ static HB_ERRCODE sqlite3GoTo( SQLBASEAREAP pArea, HB_ULONG ulRecNo )
|
||||
{
|
||||
PHB_ITEM pItem = NULL;
|
||||
LPFIELD pField = pArea->area.lpFields + ui;
|
||||
HB_USHORT uiType = pField->uiType;
|
||||
|
||||
switch( pField->uiType )
|
||||
if( uiType == HB_FT_ANY )
|
||||
{
|
||||
switch( sqlite3_column_type( st, ui ) )
|
||||
{
|
||||
case SQLITE_TEXT:
|
||||
uiType = HB_FT_STRING;
|
||||
break;
|
||||
|
||||
case SQLITE_FLOAT:
|
||||
case SQLITE_INTEGER:
|
||||
uiType = HB_FT_LONG;
|
||||
break;
|
||||
|
||||
case SQLITE_BLOB:
|
||||
uiType = HB_FT_BLOB;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
switch( uiType )
|
||||
{
|
||||
case HB_FT_STRING:
|
||||
pItem = S_HB_ITEMPUTSTR( NULL, ( const char * ) sqlite3_column_text( st, ui ) );
|
||||
|
||||
Reference in New Issue
Block a user