Made fixes to the query code to better support 64 bit numbers in arithmetic expressions. Added some more unit tests for queries involving 64 bit numbers.

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@813 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
dsandersoremutah
2006-09-05 18:36:39 +00:00
parent 9b00179045
commit 075fedfb5e
10 changed files with 2414 additions and 596 deletions

View File

@@ -519,13 +519,13 @@ RCODE flmPutValInAtom(
break;
case FLM_UINT32_VAL:
case FLM_REC_PTR_VAL:
pQAtom->val.uiVal = *((FLMUINT *)pvVal);
pQAtom->val.ui32Val = *((FLMUINT32 *)pvVal);
break;
case FLM_UINT64_VAL:
pQAtom->val.ui64Val = *((FLMUINT64 *)pvVal);
break;
case FLM_INT32_VAL:
pQAtom->val.iVal = *((FLMINT *)pvVal);
pQAtom->val.i32Val = *((FLMINT32 *)pvVal);
break;
case FLM_INT64_VAL:
pQAtom->val.i64Val = *((FLMINT64 *)pvVal);
@@ -616,7 +616,7 @@ RCODE flmCurMakeQNode(
case FLM_INT32_VAL:
{
pQAtom->val.iVal = *(FLMINT *)pVal;
pQAtom->val.i32Val = *(FLMINT32 *)pVal;
break;
}
@@ -629,7 +629,7 @@ RCODE flmCurMakeQNode(
case FLM_REC_PTR_VAL:
case FLM_UINT32_VAL:
{
pQAtom->val.uiVal = *(FLMUINT *)pVal;
pQAtom->val.ui32Val = *(FLMUINT32 *)pVal;
break;
}
@@ -749,7 +749,6 @@ FLMEXP RCODE FLMAPI FlmCursorAddValue(
)
{
RCODE rc = FERR_OK;
FLMINT iVal;
FLMUINT uiVal;
void * pTmpVal = pVal;
CURSOR * pCursor = (CURSOR *)hCursor;
@@ -828,35 +827,8 @@ FLMEXP RCODE FLMAPI FlmCursorAddValue(
break;
case FLM_INT32_VAL:
// Need to make switch to FLMINT, because that is what
// flmCurMakeQNode is expecting. No need to change
// eValType.
iVal = (FLMINT)(*(FLMINT32 *)pVal);
pTmpVal = &iVal;
break;
case FLM_UINT32_VAL:
// Need to make switch to FLMUINT, because that is what
// flmCurMakeQNode is expecting. No need to change
// eValType.
uiVal = (FLMUINT)(*(FLMUINT32 *)pVal);
pTmpVal = &uiVal;
break;
case FLM_REC_PTR_VAL:
// Need to make switch to FLMUINT, because that is what
// flmCurMakeQNode is expecting. No need to change
// eValType.
uiVal = (FLMUINT)(*(FLMUINT32 *)pVal);
pTmpVal = &uiVal;
break;
case FLM_UINT64_VAL:
case FLM_INT64_VAL:
case FLM_TEXT_VAL: