Modifications to add support for more SQL statements.

git-svn-id: https://svn.code.sf.net/p/flaim/code/trunk@634 0109f412-320b-0410-ab79-c3e0c5ffbbe6
This commit is contained in:
dsandersoremutah
2006-07-05 15:25:36 +00:00
parent d60f9efd0c
commit 30bd367a3d
24 changed files with 4222 additions and 878 deletions

View File

@@ -30,6 +30,21 @@
#define MAX_SQL_NAME_LEN 128
class SQLQuery;
typedef struct COLUMN_SET
{
FLMUINT uiColumnNum;
SQLQuery * pSqlQuery;
COLUMN_SET * pNext;
} COLUMN_SET;
typedef struct TABLE_ITEM
{
FLMUINT uiTableNum;
const char * pszTableAlias;
} TABLE_ITEM;
typedef enum
{
SQL_PARSE_STATS
@@ -146,11 +161,17 @@ private:
m_sqlStats.uiErrLineBytes = uiErrLineBytes;
}
RCODE getBinaryValue(
F_DynaBuf * pDynaBuf);
RCODE getUTF8String(
FLMBOOL bMustHaveEqual,
FLMBOOL bStripWildcardEscapes,
FLMBYTE * pszStr,
FLMUINT uiStrBufSize,
FLMUINT * puiStrLen);
FLMUINT * puiStrLen,
FLMUINT * puiNumChars,
F_DynaBuf * pDynaBuf);
RCODE getNumber(
FLMBOOL bMustHaveEqual,
@@ -169,7 +190,8 @@ private:
RCODE getName(
char * pszName,
FLMUINT uiNameBufSize,
FLMUINT * puiNameLen);
FLMUINT * puiNameLen,
FLMUINT * puiTokenLineOffset);
RCODE getEncDefName(
FLMBOOL bMustExist,
@@ -231,6 +253,29 @@ private:
RCODE processInsertRow( void);
RCODE parseSetColumns(
TABLE_ITEM * pTableList,
COLUMN_SET ** ppFirstColumnSet,
COLUMN_SET ** ppLastColumnSet,
FLMUINT * puiNumColumnsToSet);
RCODE processUpdateRows( void);
RCODE processDeleteRows( void);
RCODE processAlphaToken(
TABLE_ITEM * pTableList,
FLMBOOL bSelectStatement,
FLMBOOL bUpdateExpression,
SQLQuery * pSqlQuery,
FLMBOOL * pbDone);
RCODE parseCriteria(
TABLE_ITEM * pTableList,
FLMBOOL bSelectStatement,
FLMBOOL bUpdateExpression,
SQLQuery * pSqlQuery);
// Data
F_Db * m_pDb;