Checked in all ODBC stuff

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@1014 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
dsandersoremutah
2007-02-08 19:48:35 +00:00
parent 90929b6395
commit 5b0a6fe8b5
17 changed files with 424 additions and 103 deletions

View File

@@ -283,7 +283,8 @@ Exit:
RCODE SQLStatement::getDataType(
eDataType * peDataType,
FLMUINT * puiMax,
FLMUINT * puiEncDefNum)
FLMUINT * puiEncDefNum,
FLMUINT * puiFlags)
{
RCODE rc = NE_SFLM_OK;
char szToken [MAX_SQL_TOKEN_SIZE + 1];
@@ -403,28 +404,42 @@ Invalid_Data_Type:
goto Exit;
}
// See if they specified any encryption.
// See if they specified any encryption or not null
if (RC_BAD( rc = haveToken( "encrypt_with", FALSE)))
for (;;)
{
if (rc == NE_SFLM_NOT_FOUND)
if (RC_BAD( rc = getToken( szToken, sizeof( szToken), FALSE,
&uiTokenLineOffset, NULL)))
{
rc = NE_SFLM_OK;
goto Exit;
}
if (f_stricmp( szToken, SFLM_ENCRYPT_WITH_STR) == 0)
{
if (RC_BAD( rc = getEncDefName( TRUE, szEncDefName, sizeof( szEncDefName),
&uiEncDefNameLen, &pEncDef)))
{
goto Exit;
}
*puiEncDefNum = pEncDef->uiEncDefNum;
}
else if (f_stricmp( szToken, "not") == 0)
{
if (RC_BAD( rc = haveToken( "null", FALSE, SQL_ERR_EXPECTING_NULL)))
{
goto exit;
}
(*puiFlags) &= (~(COL_NULL_ALLOWED));
}
else
{
goto Exit;
// Process the token on the outside
m_uiCurrLineOffset = uiTokenLineOffset;
break;
}
}
else
{
if (RC_BAD( rc = getEncDefName( TRUE, szEncDefName, sizeof( szEncDefName),
&uiEncDefNameLen, &pEncDef)))
{
goto Exit;
}
*puiEncDefNum = pEncDef->uiEncDefNum;
}
Exit:
return( rc);
@@ -546,7 +561,8 @@ RCODE SQLStatement::processCreateTable( void)
if (RC_BAD( rc = getDataType( &pColumnDef->eColumnDataType,
&pColumnDef->uiMaxLen,
&pColumnDef->uiEncDefNum)))
&pColumnDef->uiEncDefNum,
&pColumnDef->uiFlags)))
{
goto Exit;
}
@@ -585,7 +601,7 @@ RCODE SQLStatement::processCreateTable( void)
// See if an encryption definition was specified
uiEncDefNum = 0;
if (RC_BAD( rc = haveToken( "encrypt_with", TRUE)))
if (RC_BAD( rc = haveToken( SFLM_ENCRYPT_WITH_STR, TRUE)))
{
if (rc == NE_SFLM_NOT_FOUND || rc == NE_SFLM_EOF_HIT)
{