summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--connectivity/source/commontools/predicateinput.cxx13
-rw-r--r--connectivity/source/inc/sqlscan.hxx15
-rw-r--r--connectivity/source/parse/sqlbison.y148
-rw-r--r--connectivity/source/parse/sqlflex.l393
-rw-r--r--connectivity/source/parse/sqlnode.cxx42
-rw-r--r--connectivity/source/simpledbt/dbtfactory.cxx11
-rw-r--r--connectivity/source/simpledbt/dbtfactory.hxx10
-rw-r--r--connectivity/source/simpledbt/parsenode_s.cxx15
-rw-r--r--connectivity/source/simpledbt/parsenode_s.hxx13
-rw-r--r--connectivity/source/simpledbt/parser_s.cxx13
-rw-r--r--connectivity/source/simpledbt/parser_s.hxx11
-rw-r--r--svx/inc/ParseContext.hxx128
-rw-r--r--svx/source/form/ParseContext.cxx245
-rw-r--r--svx/source/form/fmstring.src330
-rw-r--r--svx/source/form/makefile.mk9
-rw-r--r--svx/source/form/sqlparserclient.cxx10
-rw-r--r--svx/source/inc/sqlparserclient.hxx11
17 files changed, 1189 insertions, 228 deletions
diff --git a/connectivity/source/commontools/predicateinput.cxx b/connectivity/source/commontools/predicateinput.cxx
index e9e7d011bdca..2503ca42fccb 100644
--- a/connectivity/source/commontools/predicateinput.cxx
+++ b/connectivity/source/commontools/predicateinput.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: predicateinput.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: oj $ $Date: 2002-09-26 07:59:42 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:15:47 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -145,7 +145,7 @@ namespace dbtools
//---------------------------------------------------------------------
OPredicateInputController::OPredicateInputController(
- const Reference< XMultiServiceFactory >& _rxORB, const Reference< XConnection >& _rxConnection, const OParseContext* _pParseContext )
+ const Reference< XMultiServiceFactory >& _rxORB, const Reference< XConnection >& _rxConnection, const IParseContext* _pParseContext )
:m_xORB( _rxORB )
,m_xConnection( _rxConnection )
,m_aParser( m_xORB, _pParseContext )
@@ -235,7 +235,7 @@ namespace dbtools
|| ( DataType::DECIMAL == nType )
)
{
- const OParseContext& rParseContext = m_aParser.getContext();
+ const IParseContext& rParseContext = m_aParser.getContext();
// get the separators for the locale of our parse context
sal_Unicode nCtxDecSep;
sal_Unicode nCtxThdSep;
@@ -309,7 +309,7 @@ namespace dbtools
if ( pParseNode )
{
- const OParseContext& rParseContext = m_aParser.getContext();
+ const IParseContext& rParseContext = m_aParser.getContext();
sal_Unicode nDecSeparator, nThousandSeparator;
getSeparatorChars( rParseContext.getPreferredLocale(), nDecSeparator, nThousandSeparator );
@@ -424,6 +424,9 @@ namespace dbtools
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.2 2002/09/26 07:59:42 oj
+ * #103685# correct index of replaceAt call
+ *
* Revision 1.1 2002/04/09 14:31:04 fs
* initial checkin - helper class for inputting predicate values
*
diff --git a/connectivity/source/inc/sqlscan.hxx b/connectivity/source/inc/sqlscan.hxx
index c1386c7d1c32..78dbd6c6ca4b 100644
--- a/connectivity/source/inc/sqlscan.hxx
+++ b/connectivity/source/inc/sqlscan.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sqlscan.hxx,v $
*
- * $Revision: 1.5 $
+ * $Revision: 1.6 $
*
- * last change: $Author: oj $ $Date: 2002-07-05 07:03:03 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:17:00 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -63,9 +63,12 @@
#include <stdarg.h>
+#ifndef CONNECTIVITY_IPARSECONTEXT_HXX
+#include "connectivity/IParseContext.hxx"
+#endif
+
namespace connectivity
{
- class OParseContext;
//==========================================================================
//= OSQLScanner
//==========================================================================
@@ -73,7 +76,7 @@ namespace connectivity
*/
class OSQLScanner
{
- const OParseContext* m_pContext; // context for parse, knows all international stuff
+ const IParseContext* m_pContext; // context for parse, knows all international stuff
::rtl::OString m_sStatement; // statement to parse
::rtl::OUString m_sErrorMessage;
@@ -98,10 +101,10 @@ namespace connectivity
virtual void SQLyyerror(char *fmt);
virtual void output(sal_Int32) { OSL_ASSERT("Internal error in sdblex.l: output not possible"); }
virtual void ECHO(void) { OSL_ASSERT("Internal error in sdblex.l: ECHO not possible"); }
- virtual sal_Int32 getInternationalTokenID(const char* sToken) const;
+ virtual IParseContext::InternationalKeyCode getInternationalTokenID(const char* sToken) const;
// setting the new information before scanning
- void prepareScan(const ::rtl::OUString & rNewStatement, const OParseContext* pContext, sal_Bool bInternational);
+ void prepareScan(const ::rtl::OUString & rNewStatement, const IParseContext* pContext, sal_Bool bInternational);
const ::rtl::OUString& getErrorMessage() const {return m_sErrorMessage;}
::rtl::OString getStatement() const { return m_sStatement; }
diff --git a/connectivity/source/parse/sqlbison.y b/connectivity/source/parse/sqlbison.y
index d137c40cbfe3..da525ffb46ef 100644
--- a/connectivity/source/parse/sqlbison.y
+++ b/connectivity/source/parse/sqlbison.y
@@ -1,7 +1,7 @@
%{
//--------------------------------------------------------------------------
//
-// $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/connectivity/source/parse/sqlbison.y,v 1.40 2002-05-14 09:30:32 hr Exp $
+// $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/connectivity/source/parse/sqlbison.y,v 1.41 2002-09-27 11:10:30 oj Exp $
//
// Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
//
@@ -9,7 +9,7 @@
// OJ
//
// Last change:
-// $Author: hr $ $Date: 2002-05-14 09:30:32 $ $Revision: 1.40 $
+// $Author: oj $ $Date: 2002-09-27 11:10:30 $ $Revision: 1.41 $
//
// Description:
//
@@ -3103,7 +3103,8 @@ IMPLEMENT_CONSTASCII_STRING(ERROR_STR_INVALID_COLUMN, "The column \"#\" is unkno
IMPLEMENT_CONSTASCII_STRING(KEY_STR_LIKE, "LIKE");
IMPLEMENT_CONSTASCII_STRING(KEY_STR_NOT, "NOT");
IMPLEMENT_CONSTASCII_STRING(KEY_STR_NULL, "NULL");
-IMPLEMENT_CONSTASCII_STRING(KEY_STR_TRUE, "True");
+IMPLEMENT_CONSTASCII_STRING(KEY_STR_TRUE, "True");
+
IMPLEMENT_CONSTASCII_STRING(KEY_STR_FALSE, "False");
IMPLEMENT_CONSTASCII_STRING(KEY_STR_IS, "IS");
IMPLEMENT_CONSTASCII_STRING(KEY_STR_BETWEEN, "BETWEEN");
@@ -3178,9 +3179,9 @@ OParseContext::~OParseContext()
}
//-----------------------------------------------------------------------------
-OParseContext::InternationalKeyCode OParseContext::getIntlKeyCode(const ::rtl::OString& rToken) const
+IParseContext::InternationalKeyCode OParseContext::getIntlKeyCode(const ::rtl::OString& rToken) const
{
- static OParseContext::InternationalKeyCode Intl_TokenID[] =
+ static IParseContext::InternationalKeyCode Intl_TokenID[] =
{
KEY_LIKE, KEY_NOT, KEY_NULL, KEY_TRUE,
KEY_FALSE, KEY_IS, KEY_BETWEEN, KEY_OR,
@@ -3191,6 +3192,7 @@ OParseContext::InternationalKeyCode OParseContext::getIntlKeyCode(const ::rtl::O
sal_uInt32 nCount = sizeof Intl_TokenID / sizeof Intl_TokenID[0];
for (sal_uInt32 i = 0; i < nCount; i++)
{
+
::rtl::OString aKey = getIntlKeywordAscii(Intl_TokenID[i]);
if (rToken.equalsIgnoreAsciiCase(aKey))
return Intl_TokenID[i];
@@ -3199,35 +3201,64 @@ OParseContext::InternationalKeyCode OParseContext::getIntlKeyCode(const ::rtl::O
return KEY_NONE;
}
-//------------------------------------------------------------------------------
-static Locale& impl_getLocaleInstance( )
-{
- static Locale s_aLocale(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "en" ) ),
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "US" ) ),
- ::rtl::OUString( )
- );
- return s_aLocale;
-}
-
-//------------------------------------------------------------------------------
-void OParseContext::setDefaultLocale( const ::com::sun::star::lang::Locale& _rLocale )
-{
- impl_getLocaleInstance() = _rLocale;
-}
-
-//------------------------------------------------------------------------------
-Locale OParseContext::getPreferredLocale( ) const
-{
- return getDefaultLocale();
-}
-
-//------------------------------------------------------------------------------
-const Locale& OParseContext::getDefaultLocale()
-{
- return impl_getLocaleInstance();
-}
-
+//------------------------------------------------------------------------------
+
+static Locale& impl_getLocaleInstance( )
+
+{
+
+ static Locale s_aLocale(
+
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "en" ) ),
+
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "US" ) ),
+
+ ::rtl::OUString( )
+
+ );
+
+ return s_aLocale;
+
+}
+
+
+
+//------------------------------------------------------------------------------
+
+void OParseContext::setDefaultLocale( const ::com::sun::star::lang::Locale& _rLocale )
+
+{
+
+ impl_getLocaleInstance() = _rLocale;
+
+}
+
+
+
+//------------------------------------------------------------------------------
+
+Locale OParseContext::getPreferredLocale( ) const
+
+{
+
+ return getDefaultLocale();
+
+}
+
+
+
+//------------------------------------------------------------------------------
+
+const Locale& OParseContext::getDefaultLocale()
+
+{
+
+ return impl_getLocaleInstance();
+
+}
+
+
+
//==========================================================================
//= misc
//==========================================================================
@@ -3346,7 +3377,7 @@ OSQLParseNode* OSQLParser::parseTree(::rtl::OUString& rErrorMessage,
if (!m_sErrorMessage.getLength())
m_sErrorMessage = s_pScanner->getErrorMessage();
if (!m_sErrorMessage.getLength())
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_GENERAL);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_GENERAL);
rErrorMessage = m_sErrorMessage;
@@ -3378,11 +3409,51 @@ OSQLParseNode* OSQLParser::parseTree(::rtl::OUString& rErrorMessage,
}
}
//-----------------------------------------------------------------------------
-::rtl::OString OSQLParser::TokenIDToStr(sal_uInt32 nTokenID, const OParseContext* pContext)
+::rtl::OString OSQLParser::TokenIDToStr(sal_uInt32 nTokenID, const IParseContext* pContext)
{
::rtl::OString aStr;
if (pContext)
- aStr = pContext->getIntlKeywordAscii((OParseContext::InternationalKeyCode)nTokenID);
+
+ {
+
+ IParseContext::InternationalKeyCode eKeyCode = IParseContext::KEY_NONE;
+
+ switch( nTokenID )
+
+ {
+
+ case SQL_TOKEN_LIKE: eKeyCode = IParseContext::KEY_LIKE; break;
+
+ case SQL_TOKEN_NOT: eKeyCode = IParseContext::KEY_NOT; break;
+
+ case SQL_TOKEN_NULL: eKeyCode = IParseContext::KEY_NULL; break;
+
+ case SQL_TOKEN_TRUE: eKeyCode = IParseContext::KEY_TRUE; break;
+
+ case SQL_TOKEN_FALSE: eKeyCode = IParseContext::KEY_FALSE; break;
+
+ case SQL_TOKEN_IS: eKeyCode = IParseContext::KEY_IS; break;
+
+ case SQL_TOKEN_BETWEEN: eKeyCode = IParseContext::KEY_BETWEEN; break;
+
+ case SQL_TOKEN_OR: eKeyCode = IParseContext::KEY_OR; break;
+
+ case SQL_TOKEN_AND: eKeyCode = IParseContext::KEY_AND; break;
+
+ case SQL_TOKEN_AVG: eKeyCode = IParseContext::KEY_AVG; break;
+
+ case SQL_TOKEN_COUNT: eKeyCode = IParseContext::KEY_COUNT; break;
+
+ case SQL_TOKEN_MAX: eKeyCode = IParseContext::KEY_MAX; break;
+
+ case SQL_TOKEN_MIN: eKeyCode = IParseContext::KEY_MIN; break;
+
+ case SQL_TOKEN_SUM: eKeyCode = IParseContext::KEY_SUM; break;
+
+ }
+ aStr = pContext->getIntlKeywordAscii(eKeyCode);
+
+ }
if (!aStr.getLength())
{
@@ -3707,7 +3778,7 @@ sal_Int16 OSQLParser::buildStringNodes(OSQLParseNode*& pLiteral)
}
if(SQL_ISRULE(pLiteral,term) || SQL_ISRULE(pLiteral,value_exp_primary))
{
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_COMPARE);
return 0;
}
return 1;
@@ -3783,6 +3854,7 @@ int OSQLParser::SQLlex()
/*------------------------------------------------------------------------
$Log: not supported by cvs2svn $
+
Revision 1.34.8.1.2.1 2002/05/10 07:53:46 oj
#98357# enable = TRUE
diff --git a/connectivity/source/parse/sqlflex.l b/connectivity/source/parse/sqlflex.l
index a0cdaf9b1932..fbb776bdbe60 100644
--- a/connectivity/source/parse/sqlflex.l
+++ b/connectivity/source/parse/sqlflex.l
@@ -2,7 +2,7 @@
//--------------------------------------------------------------------------
//
-// $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/connectivity/source/parse/sqlflex.l,v 1.16 2002-03-06 13:07:48 hjs Exp $
+// $Header: /zpool/svn/migration/cvs_rep_09_09_08/code/connectivity/source/parse/sqlflex.l,v 1.17 2002-09-27 11:10:30 oj Exp $
//
// Copyright 2000 Sun Microsystems, Inc. All Rights Reserved.
//
@@ -10,7 +10,7 @@
// OJ
//
// Last change:
-// $Author: hjs $ $Date: 2002-03-06 13:07:48 $ $Revision: 1.16 $
+// $Author: oj $ $Date: 2002-09-27 11:10:30 $ $Revision: 1.17 $
//
// Description:
//
@@ -112,7 +112,8 @@ OSQLScanner* xxx_pGLOBAL_SQLSCAN = NULL;
[Aa][Nn][Dd] {SQL_NEW_KEYWORD(SQL_TOKEN_AND); return SQL_TOKEN_AND; }
[Aa][Nn][Yy] {SQL_NEW_KEYWORD(SQL_TOKEN_ANY); return SQL_TOKEN_ANY; }
[Aa][Ss] {SQL_NEW_KEYWORD(SQL_TOKEN_AS); return SQL_TOKEN_AS; }
-[Aa][Ss][Cc] {SQL_NEW_KEYWORD(SQL_TOKEN_ASC); return SQL_TOKEN_ASC; }
+[Aa][Ss][Cc] {SQL_NEW_KEYWORD(SQL_TOKEN_ASC); return SQL_TOKEN_ASC; }
+
[Aa][Ss][Cc][Ii][Ii] {SQL_NEW_KEYWORD(SQL_TOKEN_ASC); return SQL_TOKEN_ASCII; }
[Aa][Tt] {SQL_NEW_KEYWORD(SQL_TOKEN_AT); return SQL_TOKEN_AT; }
[Aa][Uu][Tt][Hh][Oo][Rr][Ii][Zz][Aa][Tt][Ii][Oo][Nn] {SQL_NEW_KEYWORD(SQL_TOKEN_AUTHORIZATION); return SQL_TOKEN_AUTHORIZATION; }
@@ -351,9 +352,12 @@ sal_Int32 gatherString( sal_Int32 delim, sal_Int32 nTyp)
{
sal_Int32 ch;
static sal_Int32 BUFFERSIZE = 256;
- static sal_Char* Buffer = 0;
- if(!Buffer)
- Buffer = new sal_Char[BUFFERSIZE];
+ static sal_Char* Buffer = 0;
+
+ if(!Buffer)
+
+ Buffer = new sal_Char[BUFFERSIZE];
+
sal_Char *s = Buffer;
sal_Int32 nPos = 0;
@@ -372,18 +376,24 @@ sal_Int32 gatherString( sal_Int32 delim, sal_Int32 nTyp)
switch(nTyp)
{
case 0:
- SQL_NEW_NODE(::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8), SQL_NODE_NAME);
- delete Buffer;
+ SQL_NEW_NODE(::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8), SQL_NODE_NAME);
+
+ delete Buffer;
+
Buffer = NULL;
return SQL_TOKEN_NAME;
case 1:
- SQL_NEW_NODE(::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8), SQL_NODE_STRING);
- delete Buffer;
+ SQL_NEW_NODE(::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8), SQL_NODE_STRING);
+
+ delete Buffer;
+
Buffer = NULL;
return SQL_TOKEN_STRING;
case 2:
- SQL_NEW_NODE(::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8), SQL_NODE_ACCESS_DATE);
- delete Buffer;
+ SQL_NEW_NODE(::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8), SQL_NODE_ACCESS_DATE);
+
+ delete Buffer;
+
Buffer = NULL;
return SQL_TOKEN_ACCESS_DATE;
}
@@ -422,12 +432,58 @@ sal_Int32 gatherString( sal_Int32 delim, sal_Int32 nTyp)
}
}
*s = '\0';
- YY_FATAL_ERROR("Unterminated name string");
- delete Buffer;
+ YY_FATAL_ERROR("Unterminated name string");
+
+ delete Buffer;
+
Buffer = NULL;
return SQL_TOKEN_INVALIDSYMBOL;
}
+
+
+sal_Int32 mapEnumToToken(IParseContext::InternationalKeyCode _eKeyCode )
+
+{
+
+ sal_Int32 nTokenID = 0;
+
+ switch( _eKeyCode )
+
+ {
+
+ case IParseContext::KEY_LIKE: nTokenID = SQL_TOKEN_LIKE; break;
+
+ case IParseContext::KEY_NOT: nTokenID = SQL_TOKEN_NOT; break;
+
+ case IParseContext::KEY_NULL: nTokenID = SQL_TOKEN_NULL; break;
+
+ case IParseContext::KEY_TRUE: nTokenID = SQL_TOKEN_TRUE; break;
+
+ case IParseContext::KEY_FALSE: nTokenID = SQL_TOKEN_FALSE; break;
+
+ case IParseContext::KEY_IS: nTokenID = SQL_TOKEN_IS; break;
+
+ case IParseContext::KEY_BETWEEN: nTokenID = SQL_TOKEN_BETWEEN; break;
+
+ case IParseContext::KEY_OR: nTokenID = SQL_TOKEN_OR; break;
+
+ case IParseContext::KEY_AND: nTokenID = SQL_TOKEN_AND; break;
+
+ case IParseContext::KEY_AVG: nTokenID = SQL_TOKEN_AVG; break;
+
+ case IParseContext::KEY_COUNT: nTokenID = SQL_TOKEN_COUNT; break;
+
+ case IParseContext::KEY_MAX: nTokenID = SQL_TOKEN_MAX; break;
+
+ case IParseContext::KEY_MIN: nTokenID = SQL_TOKEN_MIN; break;
+
+ case IParseContext::KEY_SUM: nTokenID = SQL_TOKEN_SUM; break;
+
+ }
+ return nTokenID;
+
+}
/*
* Read SQL Name literal
* Valid Names or internatioanl keywords:
@@ -435,24 +491,29 @@ sal_Int32 gatherString( sal_Int32 delim, sal_Int32 nTyp)
*/
sal_Int32 gatherName(const sal_Char* text)
{
+ sal_Int32 nToken;
+
OSL_ENSURE(xxx_pGLOBAL_SQLSCAN,"You forgot to set the scanner!");
- sal_Int32 nToken = xxx_pGLOBAL_SQLSCAN->getInternationalTokenID(text);
- switch (nToken)
+
+ IParseContext::InternationalKeyCode eKeyCode = xxx_pGLOBAL_SQLSCAN->getInternationalTokenID(text);
+ switch (eKeyCode)
{
- case SQL_TOKEN_LIKE:
- case SQL_TOKEN_NOT:
- case SQL_TOKEN_NULL:
- case SQL_TOKEN_TRUE:
- case SQL_TOKEN_FALSE:
- case SQL_TOKEN_IS:
- case SQL_TOKEN_BETWEEN:
- case SQL_TOKEN_OR:
- case SQL_TOKEN_AND:
- case SQL_TOKEN_COUNT:
- case SQL_TOKEN_AVG:
- case SQL_TOKEN_MAX:
- case SQL_TOKEN_MIN:
- case SQL_TOKEN_SUM:
+ case IParseContext::KEY_LIKE:
+ case IParseContext::KEY_NOT:
+ case IParseContext::KEY_NULL:
+ case IParseContext::KEY_TRUE:
+ case IParseContext::KEY_FALSE:
+ case IParseContext::KEY_IS:
+ case IParseContext::KEY_BETWEEN:
+ case IParseContext::KEY_OR:
+ case IParseContext::KEY_AND:
+ case IParseContext::KEY_COUNT:
+ case IParseContext::KEY_AVG:
+ case IParseContext::KEY_MAX:
+ case IParseContext::KEY_MIN:
+ case IParseContext::KEY_SUM:
+
+ nToken = mapEnumToToken(eKeyCode);
SQL_NEW_KEYWORD(nToken);
return nToken;
default:
@@ -467,44 +528,81 @@ sal_Int32 gatherName(const sal_Char* text)
*/
sal_Int32 gatherNamePre(const sal_Char* text)
{
+
+ sal_Int32 nToken;
OSL_ENSURE(xxx_pGLOBAL_SQLSCAN,"You forgot to set the scanner!");
- sal_Int32 nToken = xxx_pGLOBAL_SQLSCAN->getInternationalTokenID(text);
- switch (nToken)
+ IParseContext::InternationalKeyCode eKeyCode = xxx_pGLOBAL_SQLSCAN->getInternationalTokenID(text);
+ switch (eKeyCode)
{
- case SQL_TOKEN_LIKE:
- case SQL_TOKEN_NOT:
- case SQL_TOKEN_NULL:
- case SQL_TOKEN_TRUE:
- case SQL_TOKEN_FALSE:
- case SQL_TOKEN_IS:
- case SQL_TOKEN_BETWEEN:
- case SQL_TOKEN_OR:
- case SQL_TOKEN_AND:
- case SQL_TOKEN_COUNT:
- case SQL_TOKEN_AVG:
- case SQL_TOKEN_MAX:
- case SQL_TOKEN_MIN:
- case SQL_TOKEN_SUM:
- SQL_NEW_KEYWORD(nToken);
- break;
- default:
- // we need a special handling for parameter
- {
- ::rtl::OString sStmt = xxx_pGLOBAL_SQLSCAN->getStatement();
- sal_Int32 nLength = strlen(text);
- sal_Int32 nPos = sStmt.getLength() - nLength - 1;
- if (sStmt.getStr()[nPos] == ':')
- {
- SQL_NEW_NODE(::rtl::OUString(text,nLength,RTL_TEXTENCODING_UTF8), SQL_NODE_NAME);
- nToken = SQL_TOKEN_NAME;
- }
- else
- {
- SQL_NEW_NODE(::rtl::OUString(text,nLength,RTL_TEXTENCODING_UTF8), SQL_NODE_STRING);
- nToken = SQL_TOKEN_STRING;
- }
- }
- }
+ case IParseContext::KEY_LIKE:
+
+ case IParseContext::KEY_NOT:
+
+ case IParseContext::KEY_NULL:
+
+ case IParseContext::KEY_TRUE:
+
+ case IParseContext::KEY_FALSE:
+
+ case IParseContext::KEY_IS:
+
+ case IParseContext::KEY_BETWEEN:
+
+ case IParseContext::KEY_OR:
+
+ case IParseContext::KEY_AND:
+
+ case IParseContext::KEY_COUNT:
+
+ case IParseContext::KEY_AVG:
+
+ case IParseContext::KEY_MAX:
+
+ case IParseContext::KEY_MIN:
+
+ case IParseContext::KEY_SUM:
+
+ nToken = mapEnumToToken(eKeyCode);
+ SQL_NEW_KEYWORD(nToken);
+
+ break;
+
+ default:
+
+ // we need a special handling for parameter
+
+ {
+
+ ::rtl::OString sStmt = xxx_pGLOBAL_SQLSCAN->getStatement();
+
+ sal_Int32 nLength = strlen(text);
+
+ sal_Int32 nPos = sStmt.getLength() - nLength - 1;
+
+ if (sStmt.getStr()[nPos] == ':')
+
+ {
+
+ SQL_NEW_NODE(::rtl::OUString(text,nLength,RTL_TEXTENCODING_UTF8), SQL_NODE_NAME);
+
+ nToken = SQL_TOKEN_NAME;
+
+ }
+
+ else
+
+ {
+
+ SQL_NEW_NODE(::rtl::OUString(text,nLength,RTL_TEXTENCODING_UTF8), SQL_NODE_STRING);
+
+ nToken = SQL_TOKEN_STRING;
+
+ }
+
+ }
+
+ }
+
return nToken;
}
@@ -524,7 +622,8 @@ OSQLScanner::OSQLScanner()
, m_bInternational(sal_False)
, m_pContext(NULL)
, m_nRule(0) // 0 is INITIAL
-{
+{
+
IN_SQLyyerror = false;
}
@@ -534,67 +633,117 @@ OSQLScanner::~OSQLScanner()
}
//------------------------------------------------------------------------------
void OSQLScanner::SQLyyerror(sal_Char *fmt)
-{
-
- if(IN_SQLyyerror)
- return;
- IN_SQLyyerror = true;
+{
+
+
+
+ if(IN_SQLyyerror)
+
+ return;
+
+ IN_SQLyyerror = true;
+
OSL_ENSURE(m_pContext, "OSQLScanner::SQLyyerror: No Context set");
m_sErrorMessage = ::rtl::OUString(fmt,strlen(fmt),RTL_TEXTENCODING_UTF8);
if (m_nCurrentPos < m_sStatement.getLength())
{
m_sErrorMessage += ::rtl::OUString::createFromAscii(": ");
-
- ::rtl::OUString aError;
- static sal_Int32 BUFFERSIZE = 256;
- static sal_Char* Buffer = 0;
- if(!Buffer)
- Buffer = new sal_Char[BUFFERSIZE];
-
- sal_Char *s = Buffer;
- sal_Int32 nPos = 1;
- sal_Int32 ch = SQLyytext ? (SQLyytext[0] == 0 ? ' ' : SQLyytext[0]): ' ';
- *s++ = ch;
- while ((ch = yyinput()) != EOF)
- {
- if (ch == ' ')
- {
- if ((ch = yyinput()) != ' ')
- {
- if (ch != EOF)
- unput(ch);
- }
- *s = '\0';
- aError = ::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8);
- break;
- }
- else
- {
- *s++ = ch;
- if (++nPos == BUFFERSIZE)
- {
- ::rtl::OString aBuf(Buffer);
- delete Buffer;
- BUFFERSIZE *=2;
- Buffer = new sal_Char[BUFFERSIZE];
- for(sal_Int32 i=0;i<aBuf.getLength();++i,++Buffer)
- *Buffer = aBuf.getStr()[i];
- s = &Buffer[nPos];
- }
- }
- }
- m_sErrorMessage += aError;
- delete Buffer;
+
+
+ ::rtl::OUString aError;
+
+ static sal_Int32 BUFFERSIZE = 256;
+
+ static sal_Char* Buffer = 0;
+
+ if(!Buffer)
+
+ Buffer = new sal_Char[BUFFERSIZE];
+
+
+
+ sal_Char *s = Buffer;
+
+ sal_Int32 nPos = 1;
+
+ sal_Int32 ch = SQLyytext ? (SQLyytext[0] == 0 ? ' ' : SQLyytext[0]): ' ';
+
+ *s++ = ch;
+
+ while ((ch = yyinput()) != EOF)
+
+ {
+
+ if (ch == ' ')
+
+ {
+
+ if ((ch = yyinput()) != ' ')
+
+ {
+
+ if (ch != EOF)
+
+ unput(ch);
+
+ }
+
+ *s = '\0';
+
+ aError = ::rtl::OUString(Buffer,nPos,RTL_TEXTENCODING_UTF8);
+
+ break;
+
+ }
+
+ else
+
+ {
+
+ *s++ = ch;
+
+ if (++nPos == BUFFERSIZE)
+
+ {
+
+ ::rtl::OString aBuf(Buffer);
+
+ delete Buffer;
+
+ BUFFERSIZE *=2;
+
+ Buffer = new sal_Char[BUFFERSIZE];
+
+ for(sal_Int32 i=0;i<aBuf.getLength();++i,++Buffer)
+
+ *Buffer = aBuf.getStr()[i];
+
+ s = &Buffer[nPos];
+
+ }
+
+ }
+
+ }
+
+ m_sErrorMessage += aError;
+
+ delete Buffer;
+
Buffer = NULL;
- }
- IN_SQLyyerror = false;
- YY_FLUSH_BUFFER;
+ }
+
+ IN_SQLyyerror = false;
+
+ YY_FLUSH_BUFFER;
+
}
//------------------------------------------------------------------------------
-void OSQLScanner::prepareScan(const ::rtl::OUString & rNewStatement, const OParseContext* pContext, sal_Bool bInternational)
-{
+void OSQLScanner::prepareScan(const ::rtl::OUString & rNewStatement, const IParseContext* pContext, sal_Bool bInternational)
+{
+
YY_FLUSH_BUFFER;
BEGIN(m_nRule);
@@ -602,7 +751,8 @@ void OSQLScanner::prepareScan(const ::rtl::OUString & rNewStatement, const OPars
m_sStatement = ::rtl::OString(rNewStatement,rNewStatement.getLength(), RTL_TEXTENCODING_UTF8);
m_nCurrentPos = 0;
m_bInternational = bInternational;
- m_pContext = pContext;
+ m_pContext = pContext;
+
}
//------------------------------------------------------------------------------
@@ -612,10 +762,10 @@ sal_Int32 OSQLScanner::SQLyygetc(void)
}
//------------------------------------------------------------------------------
-sal_Int32 OSQLScanner::getInternationalTokenID(const sal_Char* sToken) const
+IParseContext::InternationalKeyCode OSQLScanner::getInternationalTokenID(const sal_Char* sToken) const
{
OSL_ENSURE(m_pContext, "OSQLScanner::getInternationalTokenID: No Context set");
- return (m_bInternational) ? m_pContext->getIntlKeyCode(::rtl::OString(sToken)) : 0;
+ return (m_bInternational) ? m_pContext->getIntlKeyCode(::rtl::OString(sToken) ) : IParseContext::KEY_NONE;
}
// -------------------------------------------------------------------------
sal_Int32 OSQLScanner::GetCurrentRule() const { return m_nRule; }
@@ -637,6 +787,7 @@ sal_Int32 OSQLScanner::SQLlex()
/*------------------------------------------------------------------------
$Log: not supported by cvs2svn $
+
Revision 1.2 2000/08/01 14:26:02 oj
modified
diff --git a/connectivity/source/parse/sqlnode.cxx b/connectivity/source/parse/sqlnode.cxx
index 0e6d04ddd033..47b3e4a2a1eb 100644
--- a/connectivity/source/parse/sqlnode.cxx
+++ b/connectivity/source/parse/sqlnode.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sqlnode.cxx,v $
*
- * $Revision: 1.30 $
+ * $Revision: 1.31 $
*
- * last change: $Author: oj $ $Date: 2002-07-01 07:06:44 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:10:32 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -158,12 +158,12 @@ extern ::rtl::OUString ConvertLikeToken(const OSQLParseNode* pTokenNode, const O
//------------------------------------------------------------------
OSQLParseNode::SQLParseNodeParameter::SQLParseNodeParameter(const ::rtl::OUString& _rIdentifierQuote, const ::rtl::OUString& _rCatalogSep,
const Reference< XNumberFormatter > & _xFormatter, const Reference< XPropertySet > & _xField, const ::com::sun::star::lang::Locale& _rLocale,
- const OParseContext* _pContext, sal_Bool _bIntl, sal_Bool _bQuote, sal_Char _cDecSep,
+ const IParseContext* _pContext, sal_Bool _bIntl, sal_Bool _bQuote, sal_Char _cDecSep,
sal_Bool _bPredicate)
:aIdentifierQuote(_rIdentifierQuote)
,aCatalogSeparator(_rCatalogSep)
,rLocale(_rLocale)
- ,rContext(_pContext ? *_pContext : OSQLParser::s_aDefaultContext)
+ ,m_pContext(_pContext ? _pContext : &OSQLParser::s_aDefaultContext)
,bInternational(_bIntl)
,bQuote(_bQuote)
,cDecSep(_cDecSep)
@@ -214,7 +214,7 @@ OSQLParseNode::SQLParseNodeParameter::SQLParseNodeParameter(const ::rtl::OUStrin
//-----------------------------------------------------------------------------
void OSQLParseNode::parseNodeToStr(::rtl::OUString& rString,
const Reference< XDatabaseMetaData > & xMeta,
- const OParseContext* pContext,
+ const IParseContext* pContext,
sal_Bool _bIntl,
sal_Bool _bQuote) const
{
@@ -231,7 +231,7 @@ void OSQLParseNode::parseNodeToPredicateStr(::rtl::OUString& rString,
const Reference< XNumberFormatter > & xFormatter,
const ::com::sun::star::lang::Locale& rIntl,
sal_Char _cDec,
- const OParseContext* pContext ) const
+ const IParseContext* pContext ) const
{
OSL_ENSURE(xFormatter.is(), "OSQLParseNode::parseNodeToPredicateStr:: no formatter!");
@@ -247,7 +247,7 @@ void OSQLParseNode::parseNodeToPredicateStr(::rtl::OUString& rString,
const Reference< XPropertySet > & _xField,
const ::com::sun::star::lang::Locale& rIntl,
sal_Char _cDec,
- const OParseContext* pContext ) const
+ const IParseContext* pContext ) const
{
OSL_ENSURE(xFormatter.is(), "OSQLParseNode::parseNodeToPredicateStr:: no formatter!");
@@ -262,7 +262,7 @@ void OSQLParseNode::parseNodeToStr(::rtl::OUString& rString,
const Reference< XNumberFormatter > & xFormatter,
const Reference< XPropertySet > & _xField,
const ::com::sun::star::lang::Locale& rIntl,
- const OParseContext* pContext,
+ const IParseContext* pContext,
sal_Bool _bIntl,
sal_Bool _bQuote,
sal_Char _cDecSep,
@@ -636,13 +636,13 @@ sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode*
else
{
nErg = -1;
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_DATE_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_DATE_COMPARE);
}
}
catch( Exception& )
{
nErg = -1;
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_DATE_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_DATE_COMPARE);
}
}
}
@@ -651,7 +651,7 @@ sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode*
break;
default:
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_COMPARE);
}
break;
case SQL_NODE_ACCESS_DATE:
@@ -684,24 +684,24 @@ sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode*
else
{
nErg = -1;
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_DATE_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_DATE_COMPARE);
}
}
catch( Exception& )
{
nErg = -1;
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_DATE_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_DATE_COMPARE);
}
}
}
else
{
nErg = -1;
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_DATE_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_DATE_COMPARE);
}
break;
default:
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_COMPARE);
}
break;
case SQL_NODE_INTNUM:
@@ -734,7 +734,7 @@ sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode*
nErg = buildNode_STR_NUM(pAppend,pLiteral,pCompare);
break;
default:
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_INT_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_INT_COMPARE);
}
break;
case SQL_NODE_APPROXNUM:
@@ -766,7 +766,7 @@ sal_Int16 OSQLParser::buildComparsionRule(OSQLParseNode*& pAppend,OSQLParseNode*
break;
case DataType::INTEGER:
default:
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_INVALID_REAL_COMPARE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_INVALID_REAL_COMPARE);
}
break;
}
@@ -841,14 +841,14 @@ sal_Int16 OSQLParser::buildLikeRule(OSQLParseNode*& pAppend, OSQLParseNode*& pLi
break;
default:
{
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_VALUE_NO_LIKE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_VALUE_NO_LIKE);
m_sErrorMessage = m_sErrorMessage.replaceAt(m_sErrorMessage.indexOf(::rtl::OUString::createFromAscii("#1")),2,pLiteral->getTokenValue());
}
}
}
break;
default:
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_FIELD_NO_LIKE);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_FIELD_NO_LIKE);
}
return nErg;
}
@@ -1034,7 +1034,7 @@ OSQLParseNode* OSQLParser::predicateTree(::rtl::OUString& rErrorMessage, const :
if (!m_sErrorMessage.getLength())
m_sErrorMessage = s_pScanner->getErrorMessage();
if (!m_sErrorMessage.getLength())
- m_sErrorMessage = m_pContext->getErrorMessage(OParseContext::ERROR_GENERAL);
+ m_sErrorMessage = m_pContext->getErrorMessage(IParseContext::ERROR_GENERAL);
rErrorMessage = m_sErrorMessage;
@@ -1067,7 +1067,7 @@ OSQLParseNode* OSQLParser::predicateTree(::rtl::OUString& rErrorMessage, const :
}
//=============================================================================
//-----------------------------------------------------------------------------
-OSQLParser::OSQLParser(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xServiceFactory,const OParseContext* _pContext)
+OSQLParser::OSQLParser(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xServiceFactory,const IParseContext* _pContext)
:m_pContext(_pContext)
,m_pParseTree(NULL)
,m_pLocale(NULL)
diff --git a/connectivity/source/simpledbt/dbtfactory.cxx b/connectivity/source/simpledbt/dbtfactory.cxx
index 1ee226122b9d..09dcd2863bd2 100644
--- a/connectivity/source/simpledbt/dbtfactory.cxx
+++ b/connectivity/source/simpledbt/dbtfactory.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: dbtfactory.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: fs $ $Date: 2001-08-13 14:54:24 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:14:15 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -134,9 +134,9 @@ namespace connectivity
}
//----------------------------------------------------------------
- ::rtl::Reference< simple::ISQLParser > ODataAccessToolsFactory::createSQLParser(const Reference< XMultiServiceFactory >& _rxServiceFactory) const
+ ::rtl::Reference< simple::ISQLParser > ODataAccessToolsFactory::createSQLParser(const Reference< XMultiServiceFactory >& _rxServiceFactory,const IParseContext* _pContext) const
{
- return new OSimpleSQLParser(_rxServiceFactory);
+ return new OSimpleSQLParser(_rxServiceFactory,_pContext);
}
//........................................................................
@@ -146,6 +146,9 @@ namespace connectivity
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.2 2001/08/13 14:54:24 fs
+ * #90761# +createCharsetHelper
+ *
* Revision 1.1 2001/07/25 13:28:12 fs
* initial checkin - main factory for load-on-demand usage of DBTOOLS
*
diff --git a/connectivity/source/simpledbt/dbtfactory.hxx b/connectivity/source/simpledbt/dbtfactory.hxx
index 745a2cebe3b5..21d56e64784c 100644
--- a/connectivity/source/simpledbt/dbtfactory.hxx
+++ b/connectivity/source/simpledbt/dbtfactory.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: dbtfactory.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: fs $ $Date: 2001-08-13 14:54:24 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:14:16 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -90,7 +90,8 @@ namespace connectivity
// IDataAccessToolsFactory
virtual ::rtl::Reference< simple::ISQLParser > createSQLParser(
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceFactory
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceFactory,
+ const IParseContext* _pContext
) const;
virtual ::rtl::Reference< simple::IDataAccessCharSet > createCharsetHelper( ) const;
@@ -113,6 +114,9 @@ namespace connectivity
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.2 2001/08/13 14:54:24 fs
+ * #90761# +createCharsetHelper
+ *
* Revision 1.1 2001/07/25 13:28:19 fs
* initial checkin - main factory for load-on-demand usage of DBTOOLS
*
diff --git a/connectivity/source/simpledbt/parsenode_s.cxx b/connectivity/source/simpledbt/parsenode_s.cxx
index 5ca0b1f53d04..a51d3f839d39 100644
--- a/connectivity/source/simpledbt/parsenode_s.cxx
+++ b/connectivity/source/simpledbt/parsenode_s.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: parsenode_s.cxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: fs $ $Date: 2001-07-25 13:29:09 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:14:20 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -111,17 +111,17 @@ namespace connectivity
}
//----------------------------------------------------------------
- void OSimpleParseNode::parseNodeToStr(::rtl::OUString& _rString, const Reference< XDatabaseMetaData >& _rxMeta) const
+ void OSimpleParseNode::parseNodeToStr(::rtl::OUString& _rString, const Reference< XDatabaseMetaData >& _rxMeta,const IParseContext* _pContext) const
{
- m_pFullNode->parseNodeToStr(_rString, _rxMeta);
+ m_pFullNode->parseNodeToStr(_rString, _rxMeta,_pContext);
}
//----------------------------------------------------------------
void OSimpleParseNode::parseNodeToPredicateStr(::rtl::OUString& _rString, const Reference< XDatabaseMetaData >& _rxMeta,
const Reference< XNumberFormatter >& _rxFormatter, const Reference< XPropertySet >& _rxField,
- const Locale& _rIntl, const sal_Char _cDecSeparator) const
+ const Locale& _rIntl, const sal_Char _cDecSeparator,const IParseContext* _pContext) const
{
- m_pFullNode->parseNodeToPredicateStr(_rString, _rxMeta, _rxFormatter, _rxField, _rIntl, _cDecSeparator);
+ m_pFullNode->parseNodeToPredicateStr(_rString, _rxMeta, _rxFormatter, _rxField, _rIntl, _cDecSeparator,_pContext);
}
//........................................................................
@@ -131,6 +131,9 @@ namespace connectivity
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.1 2001/07/25 13:29:09 fs
+ * initial checkin - main factory for load-on-demand usage of OSQLParseNode
+ *
*
* Revision 1.0 24.07.01 16:32:42 fs
************************************************************************/
diff --git a/connectivity/source/simpledbt/parsenode_s.hxx b/connectivity/source/simpledbt/parsenode_s.hxx
index 7da7692a2438..938ca190b963 100644
--- a/connectivity/source/simpledbt/parsenode_s.hxx
+++ b/connectivity/source/simpledbt/parsenode_s.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: parsenode_s.hxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: fs $ $Date: 2001-07-25 13:29:15 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:14:20 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -92,7 +92,8 @@ namespace connectivity
// ISQLParseNode
virtual void parseNodeToStr(::rtl::OUString& _rString,
- const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData >& _rxMeta
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData >& _rxMeta,
+ const IParseContext* _pContext
) const;
virtual void parseNodeToPredicateStr(::rtl::OUString& _rString,
@@ -100,7 +101,8 @@ namespace connectivity
const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& _rxFormatter,
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxField,
const ::com::sun::star::lang::Locale& _rIntl,
- const sal_Char _cDecSeparator
+ const sal_Char _cDecSeparator,
+ const IParseContext* _pContext
) const;
// disambiguate IReference
@@ -117,6 +119,9 @@ namespace connectivity
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.1 2001/07/25 13:29:15 fs
+ * initial checkin - main factory for load-on-demand usage of OSQLParseNode
+ *
*
* Revision 1.0 24.07.01 16:32:42 fs
************************************************************************/
diff --git a/connectivity/source/simpledbt/parser_s.cxx b/connectivity/source/simpledbt/parser_s.cxx
index 5270f7085d92..3f793a198f42 100644
--- a/connectivity/source/simpledbt/parser_s.cxx
+++ b/connectivity/source/simpledbt/parser_s.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: parser_s.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: fs $ $Date: 2001-08-06 07:34:54 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:14:18 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -83,8 +83,8 @@ namespace connectivity
//= OSimpleSQLParser
//================================================================
//----------------------------------------------------------------
- OSimpleSQLParser::OSimpleSQLParser(const Reference< XMultiServiceFactory >& _rxServiceFactory)
- :m_aFullParser(_rxServiceFactory)
+ OSimpleSQLParser::OSimpleSQLParser(const Reference< XMultiServiceFactory >& _rxServiceFactory,const IParseContext* _pContext)
+ :m_aFullParser(_rxServiceFactory,_pContext)
{
}
@@ -101,7 +101,7 @@ namespace connectivity
}
//----------------------------------------------------------------
- const OParseContext& OSimpleSQLParser::getContext() const
+ const IParseContext& OSimpleSQLParser::getContext() const
{
return m_aFullParser.getContext();
}
@@ -124,6 +124,9 @@ namespace connectivity
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.2 2001/08/06 07:34:54 fs
+ * #90560# no OSimpleParseNode if we do not have a OSQLParseNode
+ *
* Revision 1.1 2001/07/25 13:28:40 fs
* initial checkin - main factory for load-on-demand usage of OSQLParser
*
diff --git a/connectivity/source/simpledbt/parser_s.hxx b/connectivity/source/simpledbt/parser_s.hxx
index aabfa0c305bb..2110884fd0c5 100644
--- a/connectivity/source/simpledbt/parser_s.hxx
+++ b/connectivity/source/simpledbt/parser_s.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: parser_s.hxx,v $
*
- * $Revision: 1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: fs $ $Date: 2001-07-25 13:28:46 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:14:17 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -88,7 +88,7 @@ namespace connectivity
OSQLParser m_aFullParser;
public:
- OSimpleSQLParser(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceFactory);
+ OSimpleSQLParser(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxServiceFactory,const IParseContext* _pContext);
// ISQLParser
virtual ::rtl::Reference< simple::ISQLParseNode > predicateTree(
@@ -98,7 +98,7 @@ namespace connectivity
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxField
) const;
- virtual const OParseContext& getContext() const;
+ virtual const IParseContext& getContext() const;
// disambiguate IReference
virtual oslInterlockedCount SAL_CALL acquire();
@@ -114,6 +114,9 @@ namespace connectivity
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.1 2001/07/25 13:28:46 fs
+ * initial checkin - main factory for load-on-demand usage of OSQLParser
+ *
*
* Revision 1.0 24.07.01 16:32:42 fs
************************************************************************/
diff --git a/svx/inc/ParseContext.hxx b/svx/inc/ParseContext.hxx
new file mode 100644
index 000000000000..a9ecfc9cef46
--- /dev/null
+++ b/svx/inc/ParseContext.hxx
@@ -0,0 +1,128 @@
+/*************************************************************************
+ *
+ * $RCSfile: ParseContext.hxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: oj $ $Date: 2002-09-27 11:18:41 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the License); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef SVX_QUERYDESIGNCONTEXT_HXX
+#define SVX_QUERYDESIGNCONTEXT_HXX
+
+
+#ifndef CONNECTIVITY_IPARSECONTEXT_HXX
+#include <connectivity/IParseContext.hxx>
+#endif
+
+#ifndef _STRING_HXX
+#include <tools/string.hxx>
+#endif
+#ifndef _UNOTOOLS_LOCALEDATAWRAPPER_HXX
+#include <unotools/localedatawrapper.hxx>
+#endif
+
+namespace svxform
+{
+ //==========================================================================
+ //= OSystemParseContext
+ //==========================================================================
+ class OSystemParseContext : public ::connectivity::IParseContext
+ {
+ private:
+ ByteString m_aSQLInternationals;
+
+ public:
+ OSystemParseContext();
+
+ virtual ~OSystemParseContext();
+ // retrieves language specific error messages
+ virtual ::rtl::OUString getErrorMessage(ErrorCode _eCodes) const;
+
+ // retrieves language specific keyword strings (only ASCII allowed)
+ virtual ::rtl::OString getIntlKeywordAscii(InternationalKeyCode _eKey) const;
+
+ // finds out, if we have an international keyword (only ASCII allowed)
+ virtual InternationalKeyCode getIntlKeyCode(const ::rtl::OString& rToken) const;
+
+ /** get's a locale instance which should be used when parsing in the context specified by this instance
+ <p>if this is not overridden by derived classes, it returns the static default locale.</p>
+ */
+ virtual ::com::sun::star::lang::Locale getPreferredLocale( ) const;
+
+ public:
+ // helper methods to ease access to some of the characteristics of the locale
+ sal_Unicode getNumDecimalSep( ) const;
+ sal_Unicode getNumThousandSep( ) const;
+ };
+
+ //==========================================================================
+ //= OParseContextClient
+ //==========================================================================
+ /** helper class which needs access to a (shared and ref-counted) OSystemParseContext
+ instance.
+ */
+ class OParseContextClient
+ {
+ protected:
+ OParseContextClient();
+ virtual ~OParseContextClient();
+
+ const OSystemParseContext* getParseContext() const;
+ };
+}
+#endif // SVX_QUERYDESIGNCONTEXT_HXX
+
+
+
diff --git a/svx/source/form/ParseContext.cxx b/svx/source/form/ParseContext.cxx
new file mode 100644
index 000000000000..af0d6026d992
--- /dev/null
+++ b/svx/source/form/ParseContext.cxx
@@ -0,0 +1,245 @@
+/*************************************************************************
+ *
+ * $RCSfile: ParseContext.cxx,v $
+ *
+ * $Revision: 1.1 $
+ *
+ * last change: $Author: oj $ $Date: 2002-09-27 11:22:36 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the License); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an AS IS basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef SVX_QUERYDESIGNCONTEXT_HXX
+#include "ParseContext.hxx"
+#endif
+#ifndef _TOOLS_DEBUG_HXX
+#include <tools/debug.hxx>
+#endif
+#ifndef INCLUDED_SVTOOLS_SYSLOCALE_HXX
+#include <svtools/syslocale.hxx>
+#endif
+#ifndef _SVX_FMRESIDS_HRC
+#include "fmresids.hrc"
+#endif
+#include "dialmgr.hxx"
+
+using namespace svxform;
+using namespace ::connectivity;
+//==========================================================================
+//= OSystemParseContext
+//==========================================================================
+DBG_NAME(OSystemParseContext);
+//-----------------------------------------------------------------------------
+OSystemParseContext::OSystemParseContext() : IParseContext()
+{
+ DBG_CTOR(OSystemParseContext,NULL);
+ m_aSQLInternationals = ByteString(SVX_RES(RID_STR_SVT_SQL_INTERNATIONAL),RTL_TEXTENCODING_ASCII_US);
+}
+
+//-----------------------------------------------------------------------------
+OSystemParseContext::~OSystemParseContext()
+{
+ DBG_DTOR(OSystemParseContext,NULL);
+}
+
+//-----------------------------------------------------------------------------
+::com::sun::star::lang::Locale OSystemParseContext::getPreferredLocale( ) const
+{
+ return SvtSysLocale().GetLocaleData().getLocale();
+}
+
+//-----------------------------------------------------------------------------
+::rtl::OUString OSystemParseContext::getErrorMessage(ErrorCode _eCode) const
+{
+ String aMsg;
+ switch (_eCode)
+ {
+ case ERROR_GENERAL: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_ERROR); break;
+ case ERROR_GENERAL_HINT: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_ERROR_BEFORE); break;
+ case ERROR_VALUE_NO_LIKE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_VALUE_NO_LIKE); break;
+ case ERROR_FIELD_NO_LIKE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_FIELD_NO_LIKE); break;
+ case ERROR_INVALID_COMPARE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_CRIT_NO_COMPARE); break;
+ case ERROR_INVALID_INT_COMPARE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_INT_NO_VALID); break;
+ case ERROR_INVALID_STRING_COMPARE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_NO_NUM); break;
+ case ERROR_INVALID_DATE_COMPARE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_ACCESS_DAT_NO_VALID); break;
+ case ERROR_INVALID_REAL_COMPARE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_REAL_NO_VALID); break;
+ case ERROR_INVALID_TABLE: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_TABLE); break;
+ case ERROR_INVALID_COLUMN: aMsg = SVX_RES(RID_STR_SVT_SQL_SYNTAX_COLUMN); break;
+ }
+ return aMsg;
+}
+
+//-----------------------------------------------------------------------------
+::rtl::OString OSystemParseContext::getIntlKeywordAscii(InternationalKeyCode _eKey) const
+{
+ ByteString aKeyword;
+ switch (_eKey)
+ {
+ case KEY_LIKE: aKeyword = m_aSQLInternationals.GetToken(0); break;
+ case KEY_NOT: aKeyword = m_aSQLInternationals.GetToken(1); break;
+ case KEY_NULL: aKeyword = m_aSQLInternationals.GetToken(2); break;
+ case KEY_TRUE: aKeyword = m_aSQLInternationals.GetToken(3); break;
+ case KEY_FALSE: aKeyword = m_aSQLInternationals.GetToken(4); break;
+ case KEY_IS: aKeyword = m_aSQLInternationals.GetToken(5); break;
+ case KEY_BETWEEN: aKeyword = m_aSQLInternationals.GetToken(6); break;
+ case KEY_OR: aKeyword = m_aSQLInternationals.GetToken(7); break;
+ case KEY_AND: aKeyword = m_aSQLInternationals.GetToken(8); break;
+ case KEY_AVG: aKeyword = m_aSQLInternationals.GetToken(9); break;
+ case KEY_COUNT: aKeyword = m_aSQLInternationals.GetToken(10); break;
+ case KEY_MAX: aKeyword = m_aSQLInternationals.GetToken(11); break;
+ case KEY_MIN: aKeyword = m_aSQLInternationals.GetToken(12); break;
+ case KEY_SUM: aKeyword = m_aSQLInternationals.GetToken(13); break;
+ }
+ return aKeyword;
+}
+
+//-----------------------------------------------------------------------------
+static sal_Unicode lcl_getSeparatorChar( const String& _rSeparator, sal_Unicode _nFallback )
+{
+ DBG_ASSERT( 0 < _rSeparator.Len(), "::lcl_getSeparatorChar: invalid decimal separator!" );
+
+ sal_Unicode nReturn( _nFallback );
+ if ( _rSeparator.Len() )
+ nReturn = static_cast< sal_Char >( _rSeparator.GetBuffer( )[0] );
+ return nReturn;
+}
+
+//-----------------------------------------------------------------------------
+sal_Unicode OSystemParseContext::getNumDecimalSep( ) const
+{
+ return lcl_getSeparatorChar( SvtSysLocale().GetLocaleData().getNumDecimalSep(), '.' );
+}
+
+//-----------------------------------------------------------------------------
+sal_Unicode OSystemParseContext::getNumThousandSep( ) const
+{
+ return lcl_getSeparatorChar( SvtSysLocale().GetLocaleData().getNumThousandSep(), ',' );
+}
+// -----------------------------------------------------------------------------
+IParseContext::InternationalKeyCode OSystemParseContext::getIntlKeyCode(const ::rtl::OString& rToken) const
+{
+ static IParseContext::InternationalKeyCode Intl_TokenID[] =
+ {
+ KEY_LIKE, KEY_NOT, KEY_NULL, KEY_TRUE,
+ KEY_FALSE, KEY_IS, KEY_BETWEEN, KEY_OR,
+ KEY_AND, KEY_AVG, KEY_COUNT, KEY_MAX,
+ KEY_MIN, KEY_SUM
+ };
+
+ sal_uInt32 nCount = sizeof Intl_TokenID / sizeof Intl_TokenID[0];
+ for (sal_uInt32 i = 0; i < nCount; i++)
+ {
+ ::rtl::OString aKey = getIntlKeywordAscii(Intl_TokenID[i]);
+ if (rToken.equalsIgnoreAsciiCase(aKey))
+ return Intl_TokenID[i];
+ }
+
+ return KEY_NONE;
+}
+
+
+// =============================================================================
+// =============================================================================
+namespace
+{
+ // -----------------------------------------------------------------------------
+ ::osl::Mutex& getSafteyMutex()
+ {
+ static ::osl::Mutex s_aSafety;
+ return s_aSafety;
+ }
+ // -----------------------------------------------------------------------------
+ oslInterlockedCount& getCounter()
+ {
+ static oslInterlockedCount s_nCounter;
+ return s_nCounter;
+ }
+ // -----------------------------------------------------------------------------
+ OSystemParseContext* getSharedContext(OSystemParseContext* _pContext = NULL,sal_Bool _bSet = sal_False)
+ {
+ static OSystemParseContext* s_pSharedContext = NULL;
+ if ( _pContext && !s_pSharedContext || _bSet )
+ s_pSharedContext = _pContext;
+ return s_pSharedContext;
+ }
+ // -----------------------------------------------------------------------------
+}
+// -----------------------------------------------------------------------------
+OParseContextClient::OParseContextClient()
+{
+ ::osl::MutexGuard aGuard( getSafteyMutex() );
+ if ( 1 == osl_incrementInterlockedCount( &getCounter() ) )
+ { // first instance
+ getSharedContext( new OSystemParseContext );
+ }
+}
+
+// -----------------------------------------------------------------------------
+OParseContextClient::~OParseContextClient()
+{
+ {
+ ::osl::MutexGuard aGuard( getSafteyMutex() );
+ if ( 0 == osl_decrementInterlockedCount( &getCounter() ) )
+ delete getSharedContext(NULL,sal_True);
+ }
+}
+// -----------------------------------------------------------------------------
+const OSystemParseContext* OParseContextClient::getParseContext() const
+{
+ return getSharedContext();
+}
+// -----------------------------------------------------------------------------
+
+
+
+
+
diff --git a/svx/source/form/fmstring.src b/svx/source/form/fmstring.src
index 8605503558bc..94e23d10ee2d 100644
--- a/svx/source/form/fmstring.src
+++ b/svx/source/form/fmstring.src
@@ -2,9 +2,9 @@
*
* $RCSfile: fmstring.src,v $
*
- * $Revision: 1.44 $
+ * $Revision: 1.45 $
*
- * last change: $Author: rt $ $Date: 2002-09-05 11:27:50 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:21:40 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -7450,7 +7450,333 @@ Resource RID_RES_CONTROL_WIZARDS_ERROR_CONTEXTS
Text[ thai ] = "ไม่สามารถเริ่มการนำร่องกล่องการจัดกลุ่มอัตโนมัติได้ ";
};
};
+String RID_STR_SVT_SQL_INTERNATIONAL
+{
+ Text = "WIE;NICHT;LEER;WAHR;FALSCH;IST;ZWISCHEN;ODER;UND;Durchschnitt;Anzahl;Maximum;Minimum;Summe" ;
+ Text [ ENGLISH ] = "LIKE;NOT;NULL;TRUE;FALSE;IS;BETWEEN;OR;AND;Average;Count;Maximum;Minimum;Sum" ;
+ Text [ english_us ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;Average;Count;Maximum;Minimum;Sum" ;
+ Text [ portuguese ] = "COMO;NO;VAZIO;VERDADEIRO;FALSO;;ENTRE;OU;E;mdia;quantidade;mximo;mnimo;soma" ;
+ Text [ portuguese_brazilian ] = "WIE;NICHT;LEER;WAHR;FALSCH;IST;ZWISCHEN;ODER;UND" ;
+ Text [ swedish ] = "SOM;INTE;TOM;SANN;FALSK;R;MELLAN;ELLER;OCH;genomsnitt;antal;maximum;minimum;summa" ;
+ Text [ danish ] = "SOM;IKKE;TOM;SAND;FALSK;ER;MELLEM;ELLER;OG;Gennemsnit;Antal;Maksimum;Minimum;Sum" ;
+ Text [ italian ] = "COME;NON;VUOTO;VERO;FALSO;;TRA;O;E;media;quantit;massimo;minimo;totale" ;
+ Text [ spanish ] = "COMO;NO;VACIO;VERDADERO;FALSO;ES;ENTRE;O;Y;Promedio;Cantidad;Mximo;Mnimo;Suma" ;
+ Text [ french ] = "COMME;PAS;VIDE;VRAI;FAUX;EST;ENTRE;OU;ET;moyenne;nombre;maximum;minimum;somme" ;
+ Text [ dutch ] = "ALS;NIET;LEEG;WAAR;ONWAAR;IS;TUSSEN;OF;EN;Gemiddelde;Aantal;Maximum;Minimum;Som" ;
+ Text[ chinese_simplified ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;average;number;maximum;minimum;sum";
+ Text[ russian ] = ";;;;;;;;;;;;;";
+ Text[ polish ] = "JAK;NIE;PUSTY;PRAWDA;FASZ;JEST;POMIDZY;LUB;I;rednia;Numer;Maksimum;Minimum;Suma";
+ Text[ japanese ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;average;number;maximum;minimum;sum";
+ Text[ chinese_traditional ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;average;number;maximum;minimum;sum";
+ Text[ arabic ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;Average;Count;Maximum;Minimum;Sum";
+ Text[ dutch ] = "ALS;NIET;LEEG;WAAR;ONWAAR;IS;TUSSEN;OF;EN;Gemiddelde;Aantal;Maximum;Minimum;Som";
+ Text[ chinese_simplified ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;average;number;maximum;minimum;sum";
+ Text[ greek ] = ";;;;;;;;; ;;;;";
+ Text[ korean ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;평균;번호;최대;최소;합";
+ Text[ turkish ] = "GB;DEL;BO;DORU;YANLI;OLMA;ARADA;YA DA;VE;Ortalama;Adet says;Azami;Asgari;Toplam";
+ Text[ finnish ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;Keskiarvo;Mr;Enintn;Vhintn;Summa";
+ Text[ catalan ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;Promig;Recompte;Mxim;Mnim;Suma";
+ Text[ thai ] = "เหมือน;ไม่;ว่าง;จริง;เท็จ;อยู่;ระหว่าง;หรือ;และ;เฉลี่ย;นับ;มากที่สุด;น้อยที่สุด;ผลรวม";
+};
+
+String RID_STR_SVT_SQL_SYNTAX_ERROR
+{
+ /* ### ACHTUNG: Neuer Text in Resource? Syntaxfehler im SQL-Ausdruck : Fehlerhafte Syntax */
+ Text = "Syntaxfehler im SQL-Ausdruck" ;
+ Text [ ENGLISH ] = "Syntax error in SQL-expression" ;
+ Text [ english_us ] = "Syntax error in SQL statement" ;
+ Text [ portuguese ] = "Erro de sintaxe na expresso SQL" ;
+ Text [ portuguese_brazilian ] = "Fehlerhafte Syntax" ;
+ Text [ swedish ] = "Syntaxfel i SQL-uttryck" ;
+ Text [ danish ] = "Syntaksfejl i SQL-stning" ;
+ Text [ italian ] = "Errore di sintassi nell'espressione SQL" ;
+ Text [ spanish ] = "Error de sintaxis en la expresin SQL" ;
+ Text [ french ] = "Erreur de syntaxe dans l'expression SQL" ;
+ Text [ dutch ] = "Foutieve syntaxis in SQL-uitdrukking" ;
+ Text[ chinese_simplified ] = "SQL 表达式语法错误";
+ Text[ russian ] = " SQL";
+ Text[ polish ] = "Bd skadni w wyraeniu SQL";
+ Text[ japanese ] = "SQL 表現のシンタックスエラー";
+ Text[ chinese_traditional ] = "SQL 表達語法錯誤";
+ Text[ arabic ] = " SQL";
+ Text[ dutch ] = "Foutieve syntaxis in SQL-uitdrukking";
+ Text[ chinese_simplified ] = "SQL 表达式语法错误";
+ Text[ greek ] = " SQL";
+ Text[ korean ] = "SQL 식에 구문 오류";
+ Text[ turkish ] = "SQL terimi sz dizimi hatas";
+ Text[ finnish ] = "Syntaksivirhe SQL-lausekkeessa";
+ Text[ catalan ] = "S'ha produt un error de sintaxi en l'expressi SQL";
+ Text[ thai ] = "ไวยกรณ์ผิดพลาดในประโยค SQL ";
+};
+String RID_STR_SVT_SQL_SYNTAX_ERROR_BEFORE
+{
+ /* ### ACHTUNG: Neuer Text in Resource? Syntaxfehler im SQL-Ausdruck : Fehlerhafte Syntax */
+ Text = "bevor \"#\" Ausdruck." ;
+ Text [ ENGLISH ] = "before \"#\" expression." ;
+ Text[ italian ] = "Davanti all'espressione \"#\".";
+ Text[ portuguese_brazilian ] = "before \"#\" expression.";
+ Text[ portuguese ] = "antes da expresso \"#\".";
+ Text[ danish ] = "fr \"#\"-udtryk.";
+ Text[ french ] = "avant l'expression \"#\".";
+ Text[ swedish ] = "fre \"#\" uttryck.";
+ Text[ dutch ] = "voor \"#\" uitdrukking.";
+ Text[ spanish ] = "expresin anterior a \"#\"";
+ Text[ english_us ] = "before \"#\" expression.";
+ Text[ chinese_simplified ] = "\"#\" 表达式之前。";
+ Text[ russian ] = " \"#\".";
+ Text[ polish ] = "przed wyraeniem \"#\".";
+ Text[ japanese ] = "\"#\" 表現の前にあります。";
+ Text[ arabic ] = " \"#\".";
+ Text[ chinese_traditional ] = "在<#>表達之前";
+ Text[ dutch ] = "voor \"#\" uitdrukking.";
+ Text[ chinese_simplified ] = "\"#\" 表达式之前。";
+ Text[ greek ] = " \"#\".";
+ Text[ korean ] = "\"#\" 식 전에";
+ Text[ turkish ] = "\"#\" teriminden nce.";
+ Text[ finnish ] = "ennen \"#\" lauseketta.";
+ Text[ catalan ] = "abans de l'expressi \"#\".";
+ Text[ thai ] = "ก่อนการอธิบาย \"#\" ";
+};
+
+String RID_STR_SVT_SQL_SYNTAX_VALUE_NO_LIKE
+{
+ Text = "Der Wert #1 kann nicht mit WIE verwendet werden!";
+ Text [ ENGLISH ] = "The value #1 can not be used with LIKE!";
+ Text[ english_us ] = "The value #1 cannot be used with LIKE!";
+ Text[ portuguese ] = "O valor #1 no pode ser utilizado com COMO!";
+ Text[ greek ] = " #1 'LIKE'!";
+ Text[ dutch ] = "Waarde #1 kan niet worden gebruikt bij ALS!";
+ Text[ french ] = "La valeur #1 ne peut pas tre utilise avec COMME !";
+ Text[ spanish ] = "El valor #1 no se puede usar con COMO!";
+ Text[ swedish ] = "Vrdet #1 kan inte anvndas med SOM!";
+ Text[ russian ] = " #1 !";
+ Text[ italian ] = "Il valore #1 non pu essere usato con COME!";
+ Text[ danish ] = "Vrdien #1 kan ikke anvendes sammen med SOM!";
+ Text[ polish ] = "Wartoci #1 nie mona zastosowa z JAK!";
+ Text[ portuguese_brazilian ] = "The value #1 can not be used with LIKE!";
+ Text[ japanese ] = "#1 の値は LIKE と一緒に使用できません。";
+ Text[ korean ] = "값 #1은 LIKE와 같이 사용될 수 없습니다!";
+ Text[ chinese_simplified ] = "数值 #1不能与LIKE同时使用!";
+ Text[ chinese_traditional ] = "LIKE 和數值 #1 不可以一起使用!";
+ Text[ arabic ] = " #1 LIKE!";
+ Text[ turkish ] = "#1 deeri, GB ile birlikte kullanlamaz!";
+ Text[ finnish ] = "Arvoa #1 ei voi kytt funktion LIKE kanssa.";
+ Text[ catalan ] = "El valor #1 no es pot utilitzar amb LIKE.";
+ Text[ thai ] = "ไม่สามารถใช้ค่า #1 กับ LIKE ได้!";
+};
+
+String RID_STR_SVT_SQL_SYNTAX_FIELD_NO_LIKE
+{
+ Text = "WIE kann bei diesem Feld nicht benutzt werden!";
+ Text [ ENGLISH ] = "LIKE can not be used with this field!";
+ Text[ english_us ] = "LIKE cannot be used with this field!";
+ Text[ portuguese ] = "COMO no pode ser utilizado neste campo!";
+ Text[ greek ] = " 'LIKE' !";
+ Text[ dutch ] = "ALS kan niet worden gebruikt bij dit veld!";
+ Text[ french ] = "COMME ne peut pas tre utilis avec ce champ !";
+ Text[ spanish ] = "COMO no se puede usar con este campo!";
+ Text[ swedish ] = "SOM kan inte anvndas med det hr fltet!";
+ Text[ russian ] = " !";
+ Text[ italian ] = "COME non pu essere utilizzato in questo campo!";
+ Text[ danish ] = "SOM kan ikke bruges ved dette felt!";
+ Text[ polish ] = "JAK nie mona uy przy tym polu!";
+ Text[ portuguese_brazilian ] = "LIKE can not be used with this field!";
+ Text[ japanese ] = "LIKE はこのフィールドで使用できません。";
+ Text[ korean ] = "LIKE는 이 필드에서 사용할 수 없습니다!";
+ Text[ chinese_simplified ] = "在这个字段中不能使用LIKE!";
+ Text[ chinese_traditional ] = "這欄不可以使用 LIKE!";
+ Text[ arabic ] = " LIKE !";
+ Text[ turkish ] = "GB, bu alanda kullanlamaz!";
+ Text[ finnish ] = "Funktiota LIKE ei voi kytt tss kentss.";
+ Text[ catalan ] = "LIKE no es pot utilitzar amb aquest camp.";
+ Text[ thai ] = "ไม่สามารถใช้ LIKE กับเขตข้อมูลนี้ได้!";
+};
+String RID_STR_SVT_SQL_SYNTAX_NO_NUM
+{
+ Text = "Das Feld kann nicht mit einer Zeichenkette verglichen werden!";
+ Text [ ENGLISH ] = "The field can not be compared with a string!";
+ Text[ english_us ] = "The field cannot be compared with a string.";
+ Text[ portuguese ] = "Este campo no pode ser comparado a uma cadeia de caracteres!";
+ Text[ greek ] = " !";
+ Text[ dutch ] = "Het veld kan niet worden vergeleken met een string!";
+ Text[ french ] = "Impossible de comparer ce champ avec une chane de caractres !";
+ Text[ spanish ] = "El campo no se puede comparar con una cadena de caracteres!";
+ Text[ swedish ] = "Fltet kan inte jmfras med en teckenstrng!";
+ Text[ russian ] = " !";
+ Text[ italian ] = "Il campo non pu essere paragonato a una stringa!";
+ Text[ danish ] = "Feltet kan ikke sammenlignes med en streng!";
+ Text[ polish ] = "Pola nie mona porwna z cigiem znakw!";
+ Text[ portuguese_brazilian ] = "The field can not be compared with a string!";
+ Text[ japanese ] = "このフィールドは文字列で比較できません。";
+ Text[ korean ] = "필드를 문자열과 비교할 수 없습니다!";
+ Text[ chinese_simplified ] = "这个字段不能与字符串相比较!";
+ Text[ chinese_traditional ] = "這欄的內容不可以和字串相比較!";
+ Text[ arabic ] = " !";
+ Text[ turkish ] = "Alan, bir karakter zinciri ile karlatrlamaz!";
+ Text[ finnish ] = "Kentt ei voi verrata merkkijonoon.";
+ Text[ catalan ] = "El camp no es pot comparar amb una cadena.";
+ Text[ thai ] = "ไม่สามารถเปรียบเทียบเขตข้อมูลด้วยสายอักขระได้";
+};
+
+String RID_STR_SVT_SQL_SYNTAX_ACCESS_DAT_NO_VALID
+{
+ Text = "Das Feld kann nicht mit einem Datum verglichen werden!";
+ Text [ ENGLISH ] = "The field can not be compared with a date!";
+ Text[ english_us ] = "The field cannot be compared with a date.";
+ Text[ portuguese ] = "Este campo no pode ser comparado com uma data!";
+ Text[ greek ] = " !";
+ Text[ dutch ] = "Het veld kan niet worden vergeleken met een datum!";
+ Text[ french ] = "Impossible de comparer ce champ avec une date !";
+ Text[ spanish ] = "El campo no se puede comparar con una fecha!";
+ Text[ swedish ] = "Fltet kan inte jmfras med ett datum!";
+ Text[ russian ] = " !";
+ Text[ italian ] = "Il campo non pu essere paragonato a un dato!";
+ Text[ danish ] = "Feltet kan ikke sammenlignes med en dato!";
+ Text[ polish ] = "Pola nie mona porwna z dat!";
+ Text[ portuguese_brazilian ] = "The field can not be compared with a ACCESS date!";
+ Text[ japanese ] = "このフィールドは日付で比較できません。";
+ Text[ korean ] = "필드를 날짜와 비교할 수 없습니다!";
+ Text[ chinese_simplified ] = "这个字段不能与日期相比较!";
+ Text[ chinese_traditional ] = "這欄的內容不可以和一個日期相比較!";
+ Text[ arabic ] = " !";
+ Text[ turkish ] = "Alan, bir tarih ile karlatrlamaz!";
+ Text[ finnish ] = "Kentt ei voi verrata pivmrn.";
+ Text[ catalan ] = "El camp no es pot comparar amb una data.";
+ Text[ thai ] = "ไม่สามารถเปรียบเทียบเขตข้อมูลด้วยกับวันที่ได้";
+};
+
+String RID_STR_SVT_SQL_SYNTAX_INT_NO_VALID
+{
+ Text = "Das Feld kann nicht mit einem Integer verglichen werden!";
+ Text [ ENGLISH ] = "The field can not be compared with a integer!";
+ Text[ english_us ] = "The field cannot be compared with an integer.";
+ Text[ portuguese ] = "Este campo no pode ser comparado com um nmero inteiro!";
+ Text[ greek ] = " !";
+ Text[ dutch ] = "Het veld kan niet worden vergeleken met een Integer!";
+ Text[ french ] = "Impossible de comparer cLe champ avec un nombre entier !";
+ Text[ spanish ] = "El campo no se puede comparar con un integral!";
+ Text[ swedish ] = "Fltet kan inte jmfras med ett heltal!";
+ Text[ russian ] = " !";
+ Text[ italian ] = "Il campo non pu essere paragonato a un integrale!";
+ Text[ danish ] = "Feltet kan ikke sammenlignes med et heltal!";
+ Text[ polish ] = "Porwnanie pola z liczb cakowit nie jest moliwe!";
+ Text[ portuguese_brazilian ] = "The field can not be compared with a integer!";
+ Text[ japanese ] = "このフィールドは整数で比較できません。";
+ Text[ korean ] = "필드를 정수와 비교할 수 없습니다!";
+ Text[ chinese_simplified ] = "这个字段不能与一个整数相比较!";
+ Text[ chinese_traditional ] = "這欄的內容不可以和整數相比較!";
+ Text[ arabic ] = " !";
+ Text[ turkish ] = "Alan, bir tamsay ile karlatrlamaz!";
+ Text[ finnish ] = "Kentt ei voi verrata muuttujaan.";
+ Text[ catalan ] = "El camp no es pot comparar amb un enter.";
+ Text[ thai ] = "ไม่สามารถเปรียบเทียบเขตข้อมูลด้วยจำนวนเต็มได้";
+};
+String RID_STR_SVT_SQL_SYNTAX_TABLE
+{
+ Text = "Die Tabelle \"#\" ist in der Datenbank unbekannt!";
+ Text [ ENGLISH ] = "The table \"#\" is unknown in the database!";
+ Text[ english_us ] = "The table \"#\" is unknown in the database.";
+ Text[ portuguese ] = "A tabela \"#\" desconhecida na base de dados!";
+ Text[ russian ] = " \"#\" .";
+ Text[ greek ] = " \"#\" !";
+ Text[ dutch ] = "Tabel \"#\" niet bekend in de database!";
+ Text[ french ] = "La table \"#\" est inconnue dans la base de donnes !";
+ Text[ spanish ] = "La tabla \"#\" es desconocida en la base de datos!";
+ Text[ italian ] = "La tabella \"#\" risulta sconosciuta al database";
+ Text[ danish ] = "Tabellen \"#\" er ukendt i databasen!";
+ Text[ swedish ] = "Tabellen \"#\" r oknd i databasen!";
+ Text[ polish ] = "Tabela \"#\" jest nieznana w bazie danych!";
+ Text[ portuguese_brazilian ] = "The table \"#\" is unknown in the database!";
+ Text[ japanese ] = "テーブル \"#\" は、データベースでは不明です。";
+ Text[ korean ] = "데이터베이스에 알 수 없는 \"#\" 시트가 포함되어 있습니다.!";
+ Text[ chinese_simplified ] = "这个表格 \"#\" 对数据库而言是不明的!";
+ Text[ chinese_traditional ] = "這個表格<#>對資料庫而言是不明的!";
+ Text[ turkish ] = "The table \"#\" is unknown in the database!";
+ Text[ arabic ] = " \"#\" !";
+ Text[ finnish ] = "Taulukkoa \"#\" ei tunneta tietokannassa.";
+ Text[ catalan ] = "La taula \"#\" s desconeguda a la base de dades.";
+ Text[ thai ] = "ไม่รู้จักตาราง \"#\" ในฐานข้อมูล";
+};
+String RID_STR_SVT_SQL_SYNTAX_COLUMN
+{
+ Text = "Die Spalte \"#\" ist in der Tabelle \"#\" unbekannt!";
+ Text [ ENGLISH ] = "The column \"#\" is unknown in the table \"#\"!";
+ Text[ english_us ] = "The column \"#\" is unknown in the table \"#\"!";
+ Text[ portuguese ] = "A coluna \"#\" desconhecida na tabela \"#\"!";
+ Text[ russian ] = " \"#\" \"#\" .";
+ Text[ greek ] = " \"#\" \"#\"!";
+ Text[ dutch ] = "Kolom \"#\" is onbekend in tabel \"#\"!";
+ Text[ french ] = "La colonne \"#\" est inconnue dans la table \"#\" !";
+ Text[ spanish ] = "La columna \"#\" es desconocida en la tabla \"#\"!";
+ Text[ italian ] = "La colonna \"#\" risulta sconosciuta alla tabella \"#\"!";
+ Text[ danish ] = "Kolonnen \"#\" er ukendt i tabellen \"#\"!";
+ Text[ swedish ] = "Kolumnen \"#\" r oknd i tabellen \"#\"!";
+ Text[ polish ] = "Kolumna \"#\" jest w tabeli \"#\" nieznana!";
+ Text[ portuguese_brazilian ] = "The column \"#\" is unknown in the table \"#\"!";
+ Text[ japanese ] = "列 \"#\" は、\"#\" のテーブルでは不明です。";
+ Text[ korean ] = "\"#\" 표에 알 수 없는 \"#\"열이 포함되어 있습니다.!";
+ Text[ chinese_simplified ] = "这个列 \"#\" 对数据库 \"#\" 而言是不明的!";
+ Text[ chinese_traditional ] = "這欄位<#>對這個表格<#>而言是不明的!";
+ Text[ turkish ] = "The column \"#\" is unknown in the table \"#\"!";
+ Text[ arabic ] = " \"#\" \"#\" !";
+ Text[ finnish ] = "Saraketta \"#\" ei tunneta taulukossa \"#\".";
+ Text[ catalan ] = "La columna \"#\" s desconeguda a la taula \"#\".";
+ Text[ thai ] = "ไม่รู้จักคอลัมน์ \"#\" ในตาราง \"#\"!";
+};
+String RID_STR_SVT_SQL_SYNTAX_REAL_NO_VALID
+{
+ Text = "Das Feld kann nicht mit einer Fliekommazahl verglichen werden!";
+ Text [ ENGLISH ] = "The field can not be compared with a real!";
+ Text[ english_us ] = "The field cannot be compared with a floating point number.";
+ Text[ portuguese ] = "Este campo no pode ser comparado com um nmero de vrgula flutuante!";
+ Text[ greek ] = " !";
+ Text[ dutch ] = "Het veld kan niet worden vergeleken met een drijvende-komma getal!";
+ Text[ french ] = "Impossible de comparer le champ avec un nombre virgule flottante !";
+ Text[ spanish ] = "El campo no se puede comparar con un nmero de coma flotante!";
+ Text[ swedish ] = "Fltet kan inte jmfras med ett flytande kommatal!";
+ Text[ russian ] = " !";
+ Text[ italian ] = "Il campo non pu essere paragonato a un numero in virgola mobile!";
+ Text[ danish ] = "Feltet kan ikke sammenlignes med et flydende tal!";
+ Text[ polish ] = "Porwnanie pola z liczb rzeczywist nie jest moliwe!";
+ Text[ portuguese_brazilian ] = "The field can not be compared with a real!";
+ Text[ japanese ] = "このフィールドは浮動小数で比較できません。";
+ Text[ korean ] = "필드를 부동소수점의 수와 비교할 수 없습니다!";
+ Text[ chinese_simplified ] = "这个字段不能与一个带可变小数点位数相比较!";
+ Text[ chinese_traditional ] = "這欄的內容不可以和小數相比較!";
+ Text[ arabic ] = " !";
+ Text[ turkish ] = "Alan, bir kayan nokta says ile karlatrlamaz!";
+ Text[ finnish ] = "Kentt ei voi verrata irralliseen pistenumeroon.";
+ Text[ catalan ] = "El camp no es pot comparar amb un nmero de coma flotant.";
+ Text[ thai ] = "ไม่สามารถเปรียบเทียบเขตข้อมูลด้วยตัวเลขทศนิยมได้";
+};
+
+String RID_STR_SVT_SQL_SYNTAX_CRIT_NO_COMPARE
+{
+ Text = "Das angegebene Kriterium kann nicht mit diesem Feld verglichen werden!!";
+ Text [ ENGLISH ] = "The entered critisim can not be compared with this field!";
+ Text[ english_us ] = "The entered criterion cannot be compared with this field.";
+ Text[ portuguese ] = "Impossvel comparar o critrio indicado com este campo!";
+ Text[ russian ] = " .";
+ Text[ greek ] = " !";
+ Text[ dutch ] = "Het aangegeven criterium kan niet worden vergeleken met dit veld!";
+ Text[ french ] = "Impossible de comparer le critre saisi avec ce champ !";
+ Text[ spanish ] = "El criterio indicado no se puede comparar con este campo!";
+ Text[ italian ] = "Il criterio specificato non pu essere paragonato a questo campo!";
+ Text[ danish ] = "Det angivne kriterium kan ikke sammenlignes med dette felt!!";
+ Text[ swedish ] = "Det angivna kriteriet kan inte jmfras med det hr fltet!!";
+ Text[ polish ] = "Podanego kryterium nie mona porwna z danym polem!!";
+ Text[ portuguese_brazilian ] = "The entered critisim can not be compared with this field!!";
+ Text[ japanese ] = "入力した検索条件はこのフィールドで比較できません。";
+ Text[ korean ] = "지정한 기준을 이 필드와 비교할 수 없습니다!!";
+ Text[ chinese_simplified ] = "设定的条件无法与这个字段比较!";
+ Text[ chinese_traditional ] = "指定的條件無法和這個欄位相比較!";
+ Text[ arabic ] = " ѡ !!";
+ Text[ turkish ] = "Belirtilen lt, bu alan ile karlatrlamaz!!";
+ Text[ finnish ] = "Sytetty ehtoa ei voi verrata thn kenttn.";
+ Text[ catalan ] = "El criteri indicat no es pot comparar amb aquest camp!";
+ Text[ thai ] = "ไม่สามารถเปรียบเทียบเกณฑ์ที่ป้อนด้วยเขตข้อมูลนี้ได้";
+};
diff --git a/svx/source/form/makefile.mk b/svx/source/form/makefile.mk
index ff2c05ce5cc4..4f2ba3d4c803 100644
--- a/svx/source/form/makefile.mk
+++ b/svx/source/form/makefile.mk
@@ -2,9 +2,9 @@
#
# $RCSfile: makefile.mk,v $
#
-# $Revision: 1.11 $
+# $Revision: 1.12 $
#
-# last change: $Author: fs $ $Date: 2002-05-08 07:38:58 $
+# last change: $Author: oj $ $Date: 2002-09-27 11:21:40 $
#
# The Contents of this file are made available subject to the terms of
# either of the following licenses
@@ -90,8 +90,9 @@ SRC1FILES= \
SLOFILES = \
- $(SLO)$/dbcharsethelper.obj \
- $(SLO)$/typeconversionclient.obj \
+ $(SLO)$/dbcharsethelper.obj \
+ $(SLO)$/ParseContext.obj \
+ $(SLO)$/typeconversionclient.obj \
$(SLO)$/confirmdelete.obj \
$(SLO)$/dbtoolsclient.obj \
$(SLO)$/sqlparserclient.obj \
diff --git a/svx/source/form/sqlparserclient.cxx b/svx/source/form/sqlparserclient.cxx
index 6aa7b0d3ee57..43381ada53fb 100644
--- a/svx/source/form/sqlparserclient.cxx
+++ b/svx/source/form/sqlparserclient.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sqlparserclient.cxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: fs $ $Date: 2002-09-12 14:15:52 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:21:40 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -62,6 +62,7 @@
#ifndef SVX_SQLPARSERCLIENT_HXX
#include "sqlparserclient.hxx"
#endif
+#include "ParseContext.hxx"
//........................................................................
namespace svxform
@@ -86,7 +87,7 @@ namespace svxform
if (!getFactory().is())
ODbtoolsClient::create();
if (getFactory().is())
- m_xParser = getFactory()->createSQLParser(m_xORB);
+ m_xParser = getFactory()->createSQLParser(m_xORB,getParseContext());
}
//........................................................................
@@ -96,6 +97,9 @@ namespace svxform
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.2 2002/09/12 14:15:52 fs
+ * #97420# (on behalf of BerryJia@openoffice.org) lazy construction, to load the dbtools lib only if needed
+ *
* Revision 1.1 2001/07/25 13:35:31 fs
* initial checkin - base class for load-on-demand usage of the OSQLParser
*
diff --git a/svx/source/inc/sqlparserclient.hxx b/svx/source/inc/sqlparserclient.hxx
index 9bbeeaa90d31..c99b6d2a7a93 100644
--- a/svx/source/inc/sqlparserclient.hxx
+++ b/svx/source/inc/sqlparserclient.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sqlparserclient.hxx,v $
*
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
*
- * last change: $Author: fs $ $Date: 2002-09-12 14:15:27 $
+ * last change: $Author: oj $ $Date: 2002-09-27 11:20:57 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -65,6 +65,9 @@
#ifndef SVX_DBTOOLSCLIENT_HXX
#include "dbtoolsclient.hxx"
#endif
+#ifndef SVX_QUERYDESIGNCONTEXT_HXX
+#include "ParseContext.hxx"
+#endif
#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#endif
@@ -78,6 +81,7 @@ namespace svxform
//= OSQLParserClient
//====================================================================
class OSQLParserClient : public ODbtoolsClient
+ ,public ::svxform::OParseContextClient
{
private:
//add by BerryJia for fixing Bug97420 Time:2002-9-12-11:00(PRC time)
@@ -118,6 +122,9 @@ namespace svxform
/*************************************************************************
* history:
* $Log: not supported by cvs2svn $
+ * Revision 1.2 2002/09/12 14:15:27 fs
+ * #97420# (on behalf of BerryJia@openoffice.org) lazy construction, to load the dbtools lib only if needed
+ *
* Revision 1.1 2001/07/25 13:35:23 fs
* initial checkin - base class for load-on-demand usage of the OSQLParser
*