2000-07-24 13:59 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>

This commit is contained in:
Alexander S.Kresin
2000-07-04 09:59:33 +00:00
parent 231eb3df5b
commit 3dfd022b33
7 changed files with 131 additions and 3 deletions

View File

@@ -1,3 +1,18 @@
2000-07-24 13:59 GMT+3 Alexander Kresin <alex@belacy.belgorod.su>
* include/hbapirdd.h
* uncommented relational methods in functions table
* source/rdd/dbcmd.c
* source/rdd/dbf1.c
* source/rdd/dbfcdx/dbfcdx1.c
* source/rdd/dbfntx/dbfntx1.c
* added relational methods definitions to func table
* contrib/rdd_ads/ads1.c
* added relational methods definitions to func table
* fixed adsOrderCreate - now
* INDEX ON expression TAG tag TO indexFileName
* creates a compound CDX index, if indexFileName is the same, as
* current dbf name
2000-07-04 04:05 UTC+0100 Victor Szakats <info@szelvesz.hu>
* contrib/odbc/bld_b32.bat

View File

@@ -205,6 +205,20 @@ static ERRCODE hb_adsCheckBofEof( ADSAREAP pArea )
return SUPER_SKIPFILTER( (AREAP)pArea, 1 );
}
static BOOL strcmpNoCase( char* s1, char* s2, int n )
{
int i = 0;
while( *s1 && *s2 && ( !n || i++ < n ) )
{
if( tolower( *s1 ) != tolower( *s2 ) )
return 0;
s1++;
s2++;
}
return ( !*s1 && !*s2 ) || ( n && i == n );
}
/*
* -- ADS METHODS --
*/
@@ -858,6 +872,17 @@ static ERRCODE adsZap( ADSAREAP pArea )
return adsGoTop( pArea );
}
#define adschildEnd NULL
#define adschildStart NULL
#define adschildSync NULL
#define adssyncChildren NULL
#define adsclearRel NULL
#define adsforceRel NULL
#define adsrelArea NULL
#define adsrelEval NULL
#define adsrelText NULL
#define adssetRel NULL
static ERRCODE adsOrderListAdd( ADSAREAP pArea, LPDBORDERINFO pOrderInfo )
{
ADSHANDLE ahIndex[50];
@@ -944,7 +969,17 @@ static ERRCODE adsOrderCreate( ADSAREAP pArea, LPDBORDERCREATEINFO pOrderInfo )
PHB_ITEM pItem = pOrderInfo->abExpr;
HB_TRACE(HB_TR_DEBUG, ("adsOrderCreate(%p, %p)", pArea, pOrderInfo));
if( !pOrderInfo->abBagName || *(pOrderInfo->abBagName) == '\0' ) ulOptions = ADS_COMPOUND;
if( !pOrderInfo->abBagName || *(pOrderInfo->abBagName) == '\0' )
ulOptions = ADS_COMPOUND;
else
{
int slen = strlen( pArea->lpDataInfo->szFileName );
char *ptr = pArea->lpDataInfo->szFileName + slen - 4;
if( strcmpNoCase( pOrderInfo->abBagName, pArea->lpDataInfo->szFileName,
( slen >= 4 && strcmpNoCase( ".dbf",ptr,0 ) )? slen-4:0 ) )
ulOptions = ADS_COMPOUND;
}
ulRetVal = AdsCreateIndex( pArea->hTable, pOrderInfo->abBagName,
pOrderInfo->atomBagName, (UCHAR*)hb_itemGetCPtr( pItem ), (UCHAR*)"", (UCHAR*)"",
ulOptions, &phIndex);
@@ -1296,6 +1331,16 @@ static RDDFUNCS adsTable = { adsBof,
adsEval,
( DBENTRYP_V ) adsPack,
( DBENTRYP_V ) adsZap,
( DBENTRYP_VP ) adschildEnd,
( DBENTRYP_VP ) adschildStart,
( DBENTRYP_VP ) adschildSync,
( DBENTRYP_V ) adssyncChildren,
( DBENTRYP_V ) adsclearRel,
( DBENTRYP_V ) adsforceRel,
( DBENTRYP_SVP ) adsrelArea,
( DBENTRYP_VP ) adsrelEval,
( DBENTRYP_SVP ) adsrelText,
( DBENTRYP_VP ) adssetRel,
( DBENTRYP_OI ) adsOrderListAdd,
( DBENTRYP_V ) adsOrderListClear,
( DBENTRYP_OI ) adsOrderListFocus,

View File

@@ -785,7 +785,6 @@ typedef struct _RDDFUNCS
/* Relational Methods */
#if 0
DBENTRYP_VP childEnd;
DBENTRYP_VP childStart;
DBENTRYP_VP childSync;
@@ -796,7 +795,6 @@ typedef struct _RDDFUNCS
DBENTRYP_VP relEval;
DBENTRYP_SVP relText;
DBENTRYP_VP setRel;
#endif
/* Order Management */

View File

@@ -812,6 +812,16 @@ static RDDFUNCS defTable = { defBof,
defEval,
defUnSupported,
defUnSupported,
( DBENTRYP_VP ) defUnSupported,
( DBENTRYP_VP ) defUnSupported,
( DBENTRYP_VP ) defUnSupported,
( DBENTRYP_V ) defUnSupported,
( DBENTRYP_V ) defUnSupported,
( DBENTRYP_V ) defUnSupported,
( DBENTRYP_SVP ) defUnSupported,
( DBENTRYP_VP ) defUnSupported,
( DBENTRYP_SVP ) defUnSupported,
( DBENTRYP_VP ) defUnSupported,
( DBENTRYP_OI ) defUnSupported,
defUnSupported,
( DBENTRYP_OI ) defUnSupported,

View File

@@ -662,6 +662,16 @@ static RDDFUNCS dbfSuper = { 0 };
#define dbfStructSize NULL
#define dbfSysName NULL
#define dbfEval NULL
#define dbfchildEnd NULL
#define dbfchildStart NULL
#define dbfchildSync NULL
#define dbfsyncChildren NULL
#define dbfclearRel NULL
#define dbfforceRel NULL
#define dbfrelArea NULL
#define dbfrelEval NULL
#define dbfrelText NULL
#define dbfsetRel NULL
#define dbfOrderListAdd NULL
#define dbfOrderListClear NULL
#define dbfOrderListFocus NULL
@@ -2070,6 +2080,16 @@ static RDDFUNCS dbfTable = { dbfBof,
dbfEval,
dbfPack,
dbfZap,
dbfchildEnd,
dbfchildStart,
dbfchildSync,
dbfsyncChildren,
dbfclearRel,
dbfforceRel,
dbfrelArea,
dbfrelEval,
dbfrelText,
dbfsetRel,
dbfOrderListAdd,
dbfOrderListClear,
dbfOrderListFocus,

View File

@@ -2546,6 +2546,16 @@ static void hb_cdxSortAddInternal( LPSORTINFO pSort, USHORT Lvl, LONG Tag, LONG
#define cdxEval NULL
#define cdxPack NULL
#define cdxZap NULL
#define cdxchildEnd NULL
#define cdxchildStart NULL
#define cdxchildSync NULL
#define cdxsyncChildren NULL
#define cdxclearRel NULL
#define cdxforceRel NULL
#define cdxrelArea NULL
#define cdxrelEval NULL
#define cdxrelText NULL
#define cdxsetRel NULL
#define cdxOrderCondition NULL
#define cdxClearFilter NULL
#define cdxClearLocate NULL
@@ -3269,6 +3279,16 @@ static RDDFUNCS cdxTable = { cdxBof,
cdxEval,
cdxPack,
cdxZap,
cdxchildEnd,
cdxchildStart,
cdxchildSync,
cdxsyncChildren,
cdxclearRel,
cdxforceRel,
cdxrelArea,
cdxrelEval,
cdxrelText,
cdxsetRel,
cdxOrderListAdd,
cdxOrderListClear,
cdxOrderListFocus,

View File

@@ -1190,6 +1190,16 @@ static ERRCODE ntxClose( AREAP pArea )
#define ntxEval NULL
#define ntxPack NULL
#define ntxZap NULL
#define ntxchildEnd NULL
#define ntxchildStart NULL
#define ntxchildSync NULL
#define ntxsyncChildren NULL
#define ntxclearRel NULL
#define ntxforceRel NULL
#define ntxrelArea NULL
#define ntxrelEval NULL
#define ntxrelText NULL
#define ntxsetRel NULL
#define ntxOrderListFocus NULL
#define ntxOrderListRebuild NULL
#define ntxOrderCondition NULL
@@ -1265,6 +1275,16 @@ static RDDFUNCS ntxTable = { ntxBof,
ntxEval,
ntxPack,
ntxZap,
ntxchildEnd,
ntxchildStart,
ntxchildSync,
ntxsyncChildren,
ntxclearRel,
ntxforceRel,
ntxrelArea,
ntxrelEval,
ntxrelText,
ntxsetRel,
ntxOrderListAdd,
ntxOrderListClear,
ntxOrderListFocus,