2009-06-30 18:10 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/rddsql/sddmy/mysqldd.c
+ added support for MySQL TIMESTAMP, DATETIME and TIME types. These
types are mapped to @,8 and T,4 field types, and native harbour
timestamp type.
* harbour/include/hbextern.ch
+ added a dozen of Harbour functions
; NOTE: about 120 functions are still not included into this .ch:
SX_*(), USRRDD_*(), __DBG*(), __CLS*(), HB_COMPILE*(), etc.
This commit is contained in:
@@ -17,6 +17,17 @@
|
||||
past entries belonging to author(s): Viktor Szakats.
|
||||
*/
|
||||
|
||||
2009-06-30 18:10 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
|
||||
* harbour/contrib/rddsql/sddmy/mysqldd.c
|
||||
+ added support for MySQL TIMESTAMP, DATETIME and TIME types. These
|
||||
types are mapped to @,8 and T,4 field types, and native harbour
|
||||
timestamp type.
|
||||
|
||||
* harbour/include/hbextern.ch
|
||||
+ added a dozen of Harbour functions
|
||||
; NOTE: about 120 functions are still not included into this .ch:
|
||||
SX_*(), USRRDD_*(), __DBG*(), __CLS*(), HB_COMPILE*(), etc.
|
||||
|
||||
2009-06-30 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/source/rtl/datec.c
|
||||
* added workaround for CodeGuard false bug report covered by
|
||||
|
||||
@@ -317,7 +317,6 @@ static HB_ERRCODE mysqlOpen( SQLBASEAREAP pArea )
|
||||
case MYSQL_TYPE_STRING:
|
||||
case MYSQL_TYPE_VAR_STRING:
|
||||
case MYSQL_TYPE_ENUM:
|
||||
case MYSQL_TYPE_DATETIME:
|
||||
pFieldInfo.uiType = HB_FT_STRING;
|
||||
break;
|
||||
|
||||
@@ -332,10 +331,18 @@ static HB_ERRCODE mysqlOpen( SQLBASEAREAP pArea )
|
||||
pFieldInfo.uiType = HB_FT_MEMO;
|
||||
break;
|
||||
|
||||
/*
|
||||
case MYSQL_TYPE_TIMESTAMP:
|
||||
case MYSQL_TYPE_TIME:
|
||||
case MYSQL_TYPE_DATETIME:
|
||||
pFieldInfo.uiType = HB_FT_TIMESTAMP;
|
||||
pFieldInfo.uiLen = 8;
|
||||
break;
|
||||
|
||||
case MYSQL_TYPE_TIME:
|
||||
pFieldInfo.uiType = HB_FT_TIME;
|
||||
pFieldInfo.uiLen = 4;
|
||||
break;
|
||||
|
||||
/*
|
||||
case MYSQL_TYPE_YEAR:
|
||||
case MYSQL_TYPE_NEWDATE:
|
||||
case MYSQL_TYPE_ENUM:
|
||||
@@ -386,6 +393,11 @@ static HB_ERRCODE mysqlOpen( SQLBASEAREAP pArea )
|
||||
pItem = hb_itemPutDS( NULL, NULL );
|
||||
break;
|
||||
|
||||
case HB_FT_TIMESTAMP:
|
||||
case HB_FT_TIME:
|
||||
pItem = hb_itemPutTDT( NULL, 0, 0 );
|
||||
break;
|
||||
|
||||
default:
|
||||
pItem = hb_itemNew( NULL );
|
||||
bError = TRUE;
|
||||
@@ -509,7 +521,7 @@ static HB_ERRCODE mysqlGetValue( SQLBASEAREAP pArea, USHORT uiIndex, PHB_ITEM pI
|
||||
#if 0
|
||||
char* pStr;
|
||||
|
||||
/* Do NOT trim strings */
|
||||
/* Expand strings to field length */
|
||||
pStr = (char*) hb_xgrab( pField->uiLen + 1 );
|
||||
if ( pValue )
|
||||
memcpy( pStr, pValue, ulLen );
|
||||
@@ -520,7 +532,7 @@ static HB_ERRCODE mysqlGetValue( SQLBASEAREAP pArea, USHORT uiIndex, PHB_ITEM pI
|
||||
pStr[ pField->uiLen ] = '\0';
|
||||
hb_itemPutCRaw( pItem, pStr, pField->uiLen );
|
||||
#else
|
||||
/* Trim strings */
|
||||
/* Do not expand strings */
|
||||
if ( pValue )
|
||||
hb_itemPutCL( pItem, pValue, ulLen );
|
||||
else
|
||||
@@ -582,6 +594,54 @@ static HB_ERRCODE mysqlGetValue( SQLBASEAREAP pArea, USHORT uiIndex, PHB_ITEM pI
|
||||
break;
|
||||
}
|
||||
|
||||
case HB_FT_TIMESTAMP:
|
||||
{
|
||||
char szTimeStamp[ 15 ];
|
||||
|
||||
szTimeStamp[ 0 ] = pValue[ 0 ];
|
||||
szTimeStamp[ 1 ] = pValue[ 1 ];
|
||||
szTimeStamp[ 2 ] = pValue[ 2 ];
|
||||
szTimeStamp[ 3 ] = pValue[ 3 ];
|
||||
szTimeStamp[ 4 ] = pValue[ 5 ];
|
||||
szTimeStamp[ 5 ] = pValue[ 6 ];
|
||||
szTimeStamp[ 6 ] = pValue[ 8 ];
|
||||
szTimeStamp[ 7 ] = pValue[ 9 ];
|
||||
|
||||
szTimeStamp[ 8 ] = pValue[ 11 ];
|
||||
szTimeStamp[ 9 ] = pValue[ 12 ];
|
||||
szTimeStamp[ 10 ] = pValue[ 14 ];
|
||||
szTimeStamp[ 11 ] = pValue[ 15 ];
|
||||
szTimeStamp[ 12 ] = pValue[ 17 ];
|
||||
szTimeStamp[ 13 ] = pValue[ 18 ];
|
||||
szTimeStamp[ 14 ] = '\0';
|
||||
hb_itemPutTS( pItem, szTimeStamp );
|
||||
break;
|
||||
}
|
||||
|
||||
case HB_FT_TIME:
|
||||
{
|
||||
char szTimeStamp[ 15 ];
|
||||
|
||||
szTimeStamp[ 0 ] = '0';
|
||||
szTimeStamp[ 1 ] = '0';
|
||||
szTimeStamp[ 2 ] = '0';
|
||||
szTimeStamp[ 3 ] = '0';
|
||||
szTimeStamp[ 4 ] = '0';
|
||||
szTimeStamp[ 5 ] = '0';
|
||||
szTimeStamp[ 6 ] = '0';
|
||||
szTimeStamp[ 7 ] = '0';
|
||||
|
||||
szTimeStamp[ 8 ] = pValue[ 0 ];
|
||||
szTimeStamp[ 9 ] = pValue[ 1 ];
|
||||
szTimeStamp[ 10 ] = pValue[ 3 ];
|
||||
szTimeStamp[ 11 ] = pValue[ 4 ];
|
||||
szTimeStamp[ 12 ] = pValue[ 6 ];
|
||||
szTimeStamp[ 13 ] = pValue[ 7 ];
|
||||
szTimeStamp[ 14 ] = '\0';
|
||||
hb_itemPutTS( pItem, szTimeStamp );
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
bError = TRUE;
|
||||
break;
|
||||
|
||||
@@ -589,10 +589,12 @@ EXTERNAL _DBF, DBF_GETFUNCTABLE
|
||||
EXTERNAL DBFFPT, DBFFPT_GETFUNCTABLE
|
||||
EXTERNAL DBFNTX, DBFNTX_GETFUNCTABLE
|
||||
EXTERNAL DBFCDX, DBFCDX_GETFUNCTABLE
|
||||
EXTERNAL DBFNSX, DBFNSX_GETFUNCTABLE
|
||||
EXTERNAL SIXCDX, SIXCDX_GETFUNCTABLE
|
||||
EXTERNAL DELIM, DELIM_GETFUNCTABLE
|
||||
EXTERNAL SDF, SDF_GETFUNCTABLE
|
||||
EXTERNAL DBFBLOB, DBFBLOB_GETFUNCTABLE
|
||||
EXTERNAL DBFSMT
|
||||
EXTERNAL DBFDBT, DBFSMT
|
||||
|
||||
EXTERNAL RDDSYS
|
||||
|
||||
@@ -715,6 +717,7 @@ EXTERNAL ORDKEYNO
|
||||
EXTERNAL ORDKEYVAL
|
||||
EXTERNAL ORDSETRELATION
|
||||
EXTERNAL ORDSKIPUNIQUE
|
||||
EXTERNAL ORDSKIPRAW
|
||||
EXTERNAL ORDCOUNT
|
||||
EXTERNAL ORDCUSTOM
|
||||
EXTERNAL ORDFINDREC
|
||||
@@ -780,6 +783,8 @@ EXTERNAL XPP_TBROWSE
|
||||
EXTERNAL XPP_TBCOLUMN
|
||||
EXTERNAL XPP_SLEEP
|
||||
EXTERNAL BIN2U
|
||||
EXTERNAL BIN2F
|
||||
EXTERNAL F2BIN
|
||||
EXTERNAL DBPACK
|
||||
EXTERNAL DBZAP
|
||||
EXTERNAL DBCOPYEXTSTRUCT
|
||||
@@ -843,6 +848,7 @@ EXTERNAL HB_UTF8POKE
|
||||
EXTERNAL HB_UTF8STUFF
|
||||
EXTERNAL HB_UTF8SUBSTR
|
||||
EXTERNAL HB_UTF8STRTRAN
|
||||
EXTERNAL HB_UTF8CHR
|
||||
#endif
|
||||
EXTERNAL HB_ISARRAY
|
||||
EXTERNAL HB_ISBLOCK
|
||||
@@ -993,6 +999,8 @@ EXTERNAL HB_FIELDLEN
|
||||
EXTERNAL HB_FIELDDEC
|
||||
EXTERNAL HB_FIELDTYPE
|
||||
EXTERNAL HB_WAEVAL
|
||||
EXTERNAL HB_DBDETACH
|
||||
EXTERNAL HB_DBREQUEST
|
||||
|
||||
EXTERNAL HB_SCRMAXROW
|
||||
EXTERNAL HB_SCRMAXCOL
|
||||
@@ -1010,6 +1018,8 @@ EXTERNAL HB_THREADQUITREQUEST
|
||||
EXTERNAL HB_THREADWAIT
|
||||
EXTERNAL HB_THREADWAITFORALL
|
||||
EXTERNAL HB_THREADTERMINATEALL
|
||||
EXTERNAL HB_THREADSELF
|
||||
EXTERNAL HB_THREADID
|
||||
|
||||
EXTERNAL HB_MUTEXCREATE
|
||||
EXTERNAL HB_MUTEXLOCK
|
||||
|
||||
Reference in New Issue
Block a user