Added support for large field values (up to 4 GB), async and direct I/O on Linux and Solaris, and performed major code cleanup.

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@213 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
ahodgkinson
2006-03-28 19:25:14 +00:00
parent 0023b51ad8
commit 3eaf791406
197 changed files with 53521 additions and 82897 deletions

View File

@@ -26,18 +26,18 @@
FSTATIC RCODE flmSendCursorFrom(
FCL_WIRE * pWire,
CURSOR_p pCursor);
CURSOR * pCursor);
FSTATIC RCODE flmSendCursorWhere(
FCL_WIRE * pWire,
CURSOR_p pCursor);
CURSOR * pCursor);
/****************************************************************************
Desc: Send the FROM information for the cursor to the client.
****************************************************************************/
FSTATIC RCODE flmSendCursorFrom(
FCL_WIRE * pWire,
CURSOR_p pCursor)
CURSOR * pCursor)
{
RCODE rc = FERR_OK;
NODE * pRootNode;
@@ -46,7 +46,7 @@ FSTATIC RCODE flmSendCursorFrom(
POOL * pPool = pWire->getPool();
void * pvMark = GedPoolMark( pPool);
FLMUINT uiTmp;
CS_CONTEXT_p pCSContext = pWire->getContext();
CS_CONTEXT * pCSContext = pWire->getContext();
if ((pRootNode = GedNodeMake( pPool, FCS_ITERATOR_FROM, &rc)) == NULL)
{
@@ -102,7 +102,7 @@ FSTATIC RCODE flmSendCursorFrom(
// Add bOkToReturnKeys flag
if( pCSContext->uiServerFlaimVer >= FLM_VER_4_3)
if( pCSContext->uiServerFlaimVer >= FLM_FILE_FORMAT_VER_4_3)
{
uiTmp = (FLMUINT)(pCursor->bOkToReturnKeys ? 1 : 0);
if (RC_BAD( rc = gedAddField( pPool, pChildNode,
@@ -152,19 +152,19 @@ Desc: Send selection criteria for the cursor to the server.
****************************************************************************/
FSTATIC RCODE flmSendCursorWhere(
FCL_WIRE * pWire,
CURSOR_p pCursor
CURSOR * pCursor
)
{
RCODE rc = FERR_OK;
NODE * pRootNode;
NODE * pFldNode;
FQNODE_p pQNode;
FQNODE * pQNode;
FLMUINT uiOperator;
FLMUINT uiLastFlags = 0;
QTYPES eOp;
POOL * pPool = pWire->getPool();
void * pvMark = GedPoolMark( pPool);
CS_CONTEXT_p pCSContext = pWire->getContext();
CS_CONTEXT * pCSContext = pWire->getContext();
if ((pRootNode = GedNodeMake( pPool, FCS_ITERATOR_WHERE, &rc)) == NULL)
{
@@ -499,11 +499,11 @@ Exit:
Desc: Initialize a query over the client/server line.
****************************************************************************/
RCODE flmInitCurCS(
CURSOR_p pCursor
CURSOR * pCursor
)
{
RCODE rc = FERR_OK;
CS_CONTEXT_p pCSContext = pCursor->pCSContext;
CS_CONTEXT * pCSContext = pCursor->pCSContext;
FCL_WIRE Wire( pCSContext);
if (pCursor->uiCursorId != FCS_INVALID_ID)
@@ -556,23 +556,21 @@ Transmission_Error:
goto Exit;
}
/*API~***********************************************************************
Desc : Validates the selection criteria of a cursor.
Notes: It is not necessary to explicitly validate the selection criteria
through a call to this routine. FLAIM will automatically attempt
validation on the first call to any of the cursor routines which
make use of the criteria. Although explicit validation is unnecessary,
it can be convenient to identify an error in the selection criteria
before calling cursor routines which will make use of it.
Ret: FERR_CURSOR_SYNTAX - The selection criteria contains a syntax error
*END************************************************************************/
/****************************************************************************
Desc: Validates the selection criteria of a cursor.
Notes: It is not necessary to explicitly validate the selection criteria
through a call to this routine. FLAIM will automatically attempt
validation on the first call to any of the cursor routines which
make use of the criteria. Although explicit validation is
unnecessary, it can be convenient to identify an error in the
selection criteria before calling cursor routines which will make
use of it.
****************************************************************************/
FLMEXP RCODE FLMAPI FlmCursorValidate(
HFCURSOR hCursor
// [IN] Handle to a cursor.
)
HFCURSOR hCursor)
{
RCODE rc = FERR_OK;
CURSOR_p pCursor = (CURSOR *)hCursor;
CURSOR * pCursor = (CURSOR *)hCursor;
if (!pCursor)
{