#97230# new interface for ParseContext
This commit is contained in:
@@ -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
|
||||
*
|
||||
|
@@ -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; }
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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
|
||||
************************************************************************/
|
||||
|
@@ -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
|
||||
************************************************************************/
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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
|
||||
************************************************************************/
|
||||
|
128
svx/inc/ParseContext.hxx
Normal file
128
svx/inc/ParseContext.hxx
Normal file
@@ -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
|
||||
|
||||
|
||||
|
245
svx/source/form/ParseContext.cxx
Normal file
245
svx/source/form/ParseContext.cxx
Normal file
@@ -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();
|
||||
}
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -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;N<>O;VAZIO;VERDADEIRO;FALSO;<3B>;ENTRE;OU;E;m<>dia;quantidade;m<>ximo;m<>nimo;soma" ;
|
||||
Text [ portuguese_brazilian ] = "WIE;NICHT;LEER;WAHR;FALSCH;IST;ZWISCHEN;ODER;UND" ;
|
||||
Text [ swedish ] = "SOM;INTE;TOM;SANN;FALSK;<3B>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;<3B>;TRA;O;E;media;quantit<69>;massimo;minimo;totale" ;
|
||||
Text [ spanish ] = "COMO;NO;VACIO;VERDADERO;FALSO;ES;ENTRE;O;Y;Promedio;Cantidad;M<>ximo;M<>nimo;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 ] = "<22><><EFBFBD>;<3B><>;<3B><><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD>;<3B>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD>";
|
||||
Text[ polish ] = "JAK;NIE;PUSTY;PRAWDA;FA<46>SZ;JEST;POMI<4D>DZY;LUB;I;<3B>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 ] = "<22><><EFBFBD><EFBFBD>;<3B><><EFBFBD>;<3B><><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B>;<3B><><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||
Text[ korean ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;평균;번호;최대;최소;합";
|
||||
Text[ turkish ] = "G<>B<EFBFBD>;DE<44><45>L;BO<42>;DO<44>RU;YANLI<4C>;OLMA;ARADA;YA DA;VE;Ortalama;Adet say<61>s<EFBFBD>;Azami;Asgari;Toplam";
|
||||
Text[ finnish ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;Keskiarvo;M<><4D>r<EFBFBD>;Enint<6E><74>n;V<>hint<6E><74>n;Summa";
|
||||
Text[ catalan ] = "LIKE;NOT;EMPTY;TRUE;FALSE;IS;BETWEEN;OR;AND;Promig;Recompte;M<>xim;M<>nim;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 express<73>o SQL" ;
|
||||
Text [ portuguese_brazilian ] = "Fehlerhafte Syntax" ;
|
||||
Text [ swedish ] = "Syntaxfel i SQL-uttryck" ;
|
||||
Text [ danish ] = "Syntaksfejl i SQL-s<>tning" ;
|
||||
Text [ italian ] = "Errore di sintassi nell'espressione SQL" ;
|
||||
Text [ spanish ] = "Error de sintaxis en la expresi<73>n SQL" ;
|
||||
Text [ french ] = "Erreur de syntaxe dans l'expression SQL" ;
|
||||
Text [ dutch ] = "Foutieve syntaxis in SQL-uitdrukking" ;
|
||||
Text[ chinese_simplified ] = "SQL 表达式语法错误";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SQL";
|
||||
Text[ polish ] = "B<><42>d sk<73>adni w wyra<72>eniu SQL";
|
||||
Text[ japanese ] = "SQL 表現のシンタックスエラー";
|
||||
Text[ chinese_traditional ] = "SQL 表達語法錯誤";
|
||||
Text[ arabic ] = "<22><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> SQL";
|
||||
Text[ dutch ] = "Foutieve syntaxis in SQL-uitdrukking";
|
||||
Text[ chinese_simplified ] = "SQL 表达式语法错误";
|
||||
Text[ greek ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SQL";
|
||||
Text[ korean ] = "SQL 식에 구문 오류";
|
||||
Text[ turkish ] = "SQL terimi s<>z dizimi hatas<61>";
|
||||
Text[ finnish ] = "Syntaksivirhe SQL-lausekkeessa";
|
||||
Text[ catalan ] = "S'ha produ<64>t un error de sintaxi en l'expressi<73> 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 express<73>o \"#\".";
|
||||
Text[ danish ] = "f<>r \"#\"-udtryk.";
|
||||
Text[ french ] = "avant l'expression \"#\".";
|
||||
Text[ swedish ] = "f<>re \"#\" uttryck.";
|
||||
Text[ dutch ] = "voor \"#\" uitdrukking.";
|
||||
Text[ spanish ] = "expresi<73>n anterior a \"#\"";
|
||||
Text[ english_us ] = "before \"#\" expression.";
|
||||
Text[ chinese_simplified ] = "\"#\" 表达式之前。";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\".";
|
||||
Text[ polish ] = "przed wyra<72>eniem \"#\".";
|
||||
Text[ japanese ] = "\"#\" 表現の前にあります。";
|
||||
Text[ arabic ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> \"#\".";
|
||||
Text[ chinese_traditional ] = "在<#>表達之前";
|
||||
Text[ dutch ] = "voor \"#\" uitdrukking.";
|
||||
Text[ chinese_simplified ] = "\"#\" 表达式之前。";
|
||||
Text[ greek ] = "<22><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\".";
|
||||
Text[ korean ] = "\"#\" 식 전에";
|
||||
Text[ turkish ] = "\"#\" teriminden <20>nce.";
|
||||
Text[ finnish ] = "ennen \"#\" lauseketta.";
|
||||
Text[ catalan ] = "abans de l'expressi<73> \"#\".";
|
||||
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 n<>o pode ser utilizado com COMO!";
|
||||
Text[ greek ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> #1 <20><><EFBFBD><EFBFBD> <20><> <20><> 'LIKE'!";
|
||||
Text[ dutch ] = "Waarde #1 kan niet worden gebruikt bij ALS!";
|
||||
Text[ french ] = "La valeur #1 ne peut pas <20>tre utilis<69>e avec COMME !";
|
||||
Text[ spanish ] = "<22>El valor #1 no se puede usar con COMO!";
|
||||
Text[ swedish ] = "V<>rdet #1 kan inte anv<6E>ndas med SOM!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #1 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>!";
|
||||
Text[ italian ] = "Il valore #1 non pu<70> essere usato con COME!";
|
||||
Text[ danish ] = "V<>rdien #1 kan ikke anvendes sammen med SOM!";
|
||||
Text[ polish ] = "Warto<74>ci #1 nie mo<6D>na zastosowa<77> 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 ] = "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> #1 <20><> LIKE!";
|
||||
Text[ turkish ] = "#1 de<64>eri, G<>B<EFBFBD> ile birlikte kullan<61>lamaz!";
|
||||
Text[ finnish ] = "Arvoa #1 ei voi k<>ytt<74><74> 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 n<>o pode ser utilizado neste campo!";
|
||||
Text[ greek ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 'LIKE' <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ dutch ] = "ALS kan niet worden gebruikt bij dit veld!";
|
||||
Text[ french ] = "COMME ne peut pas <20>tre utilis<69> avec ce champ !";
|
||||
Text[ spanish ] = "<22>COMO no se puede usar con este campo!";
|
||||
Text[ swedish ] = "SOM kan inte anv<6E>ndas med det h<>r f<>ltet!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ italian ] = "COME non pu<70> essere utilizzato in questo campo!";
|
||||
Text[ danish ] = "SOM kan ikke bruges ved dette felt!";
|
||||
Text[ polish ] = "JAK nie mo<6D>na u<>y<EFBFBD> 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 ] = "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> LIKE <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ turkish ] = "G<>B<EFBFBD>, bu alanda kullan<61>lamaz!";
|
||||
Text[ finnish ] = "Funktiota LIKE ei voi k<>ytt<74><74> t<>ss<73> kent<6E>ss<73>.";
|
||||
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 n<>o pode ser comparado a uma cadeia de caracteres!";
|
||||
Text[ greek ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ dutch ] = "Het veld kan niet worden vergeleken met een string!";
|
||||
Text[ french ] = "Impossible de comparer ce champ avec une cha<68>ne de caract<63>res !";
|
||||
Text[ spanish ] = "<22>El campo no se puede comparar con una cadena de caracteres!";
|
||||
Text[ swedish ] = "F<>ltet kan inte j<>mf<6D>ras med en teckenstr<74>ng!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ italian ] = "Il campo non pu<70> essere paragonato a una stringa!";
|
||||
Text[ danish ] = "Feltet kan ikke sammenlignes med en streng!";
|
||||
Text[ polish ] = "Pola nie mo<6D>na por<6F>wna<6E> z ci<63>giem znak<61>w!";
|
||||
Text[ portuguese_brazilian ] = "The field can not be compared with a string!";
|
||||
Text[ japanese ] = "このフィールドは文字列で比較できません。";
|
||||
Text[ korean ] = "필드를 문자열과 비교할 수 없습니다!";
|
||||
Text[ chinese_simplified ] = "这个字段不能与字符串相比较!";
|
||||
Text[ chinese_traditional ] = "這欄的內容不可以和字串相比較!";
|
||||
Text[ arabic ] = "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>!";
|
||||
Text[ turkish ] = "Alan, bir karakter zinciri ile kar<61><72>la<6C>t<EFBFBD>r<EFBFBD>lamaz!";
|
||||
Text[ finnish ] = "Kentt<74><74> 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 n<>o pode ser comparado com uma data!";
|
||||
Text[ greek ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ dutch ] = "Het veld kan niet worden vergeleken met een datum!";
|
||||
Text[ french ] = "Impossible de comparer ce champ avec une date !";
|
||||
Text[ spanish ] = "<22>El campo no se puede comparar con una fecha!";
|
||||
Text[ swedish ] = "F<>ltet kan inte j<>mf<6D>ras med ett datum!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ italian ] = "Il campo non pu<70> essere paragonato a un dato!";
|
||||
Text[ danish ] = "Feltet kan ikke sammenlignes med en dato!";
|
||||
Text[ polish ] = "Pola nie mo<6D>na por<6F>wna<6E> z dat<61>!";
|
||||
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 ] = "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ turkish ] = "Alan, bir tarih ile kar<61><72>la<6C>t<EFBFBD>r<EFBFBD>lamaz!";
|
||||
Text[ finnish ] = "Kentt<74><74> ei voi verrata p<>iv<69>m<EFBFBD><6D>r<EFBFBD><72>n.";
|
||||
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 n<>o pode ser comparado com um n<>mero inteiro!";
|
||||
Text[ greek ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ dutch ] = "Het veld kan niet worden vergeleken met een Integer!";
|
||||
Text[ french ] = "Impossible de comparer cLe champ avec un nombre entier !";
|
||||
Text[ spanish ] = "<22>El campo no se puede comparar con un integral!";
|
||||
Text[ swedish ] = "F<>ltet kan inte j<>mf<6D>ras med ett heltal!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ italian ] = "Il campo non pu<70> essere paragonato a un integrale!";
|
||||
Text[ danish ] = "Feltet kan ikke sammenlignes med et heltal!";
|
||||
Text[ polish ] = "Por<6F>wnanie pola z liczb<7A> ca<63>kowit<69> nie jest mo<6D>liwe!";
|
||||
Text[ portuguese_brazilian ] = "The field can not be compared with a integer!";
|
||||
Text[ japanese ] = "このフィールドは整数で比較できません。";
|
||||
Text[ korean ] = "필드를 정수와 비교할 수 없습니다!";
|
||||
Text[ chinese_simplified ] = "这个字段不能与一个整数相比较!";
|
||||
Text[ chinese_traditional ] = "這欄的內容不可以和整數相比較!";
|
||||
Text[ arabic ] = "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>!";
|
||||
Text[ turkish ] = "Alan, bir tamsay<61> ile kar<61><72>la<6C>t<EFBFBD>r<EFBFBD>lamaz!";
|
||||
Text[ finnish ] = "Kentt<74><74> 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 \"#\" <20> desconhecida na base de dados!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\" <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.";
|
||||
Text[ greek ] = "<22> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\" <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ dutch ] = "Tabel \"#\" niet bekend in de database!";
|
||||
Text[ french ] = "La table \"#\" est inconnue dans la base de donn<6E>es !";
|
||||
Text[ spanish ] = "<22>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 \"#\" <20>r ok<6F>nd 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 ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\" <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ finnish ] = "Taulukkoa \"#\" ei tunneta tietokannassa.";
|
||||
Text[ catalan ] = "La taula \"#\" <20>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 \"#\" <20> desconhecida na tabela \"#\"!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.";
|
||||
Text[ greek ] = "<22> <20><><EFBFBD><EFBFBD><EFBFBD> \"#\" <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\"!";
|
||||
Text[ dutch ] = "Kolom \"#\" is onbekend in tabel \"#\"!";
|
||||
Text[ french ] = "La colonne \"#\" est inconnue dans la table \"#\" !";
|
||||
Text[ spanish ] = "<22>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 \"#\" <20>r ok<6F>nd 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 ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\" <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \"#\" !";
|
||||
Text[ finnish ] = "Saraketta \"#\" ei tunneta taulukossa \"#\".";
|
||||
Text[ catalan ] = "La columna \"#\" <20>s desconeguda a la taula \"#\".";
|
||||
Text[ thai ] = "ไม่รู้จักคอลัมน์ \"#\" ในตาราง \"#\"!";
|
||||
};
|
||||
String RID_STR_SVT_SQL_SYNTAX_REAL_NO_VALID
|
||||
{
|
||||
Text = "Das Feld kann nicht mit einer Flie<69>kommazahl 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 n<>o pode ser comparado com um n<>mero de v<>rgula flutuante!";
|
||||
Text[ greek ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ dutch ] = "Het veld kan niet worden vergeleken met een drijvende-komma getal!";
|
||||
Text[ french ] = "Impossible de comparer le champ avec un nombre <20> virgule flottante !";
|
||||
Text[ spanish ] = "<22>El campo no se puede comparar con un n<>mero de coma flotante!";
|
||||
Text[ swedish ] = "F<>ltet kan inte j<>mf<6D>ras med ett flytande kommatal!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ italian ] = "Il campo non pu<70> essere paragonato a un numero in virgola mobile!";
|
||||
Text[ danish ] = "Feltet kan ikke sammenlignes med et flydende tal!";
|
||||
Text[ polish ] = "Por<6F>wnanie pola z liczb<7A> rzeczywist<73> nie jest mo<6D>liwe!";
|
||||
Text[ portuguese_brazilian ] = "The field can not be compared with a real!";
|
||||
Text[ japanese ] = "このフィールドは浮動小数で比較できません。";
|
||||
Text[ korean ] = "필드를 부동소수점의 수와 비교할 수 없습니다!";
|
||||
Text[ chinese_simplified ] = "这个字段不能与一个带可变小数点位数相比较!";
|
||||
Text[ chinese_traditional ] = "這欄的內容不可以和小數相比較!";
|
||||
Text[ arabic ] = "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ turkish ] = "Alan, bir kayan nokta say<61>s<EFBFBD> ile kar<61><72>la<6C>t<EFBFBD>r<EFBFBD>lamaz!";
|
||||
Text[ finnish ] = "Kentt<74><74> ei voi verrata irralliseen pistenumeroon.";
|
||||
Text[ catalan ] = "El camp no es pot comparar amb un n<>mero 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 ] = "Imposs<73>vel comparar o crit<69>rio indicado com este campo!";
|
||||
Text[ russian ] = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.";
|
||||
Text[ greek ] = "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>!";
|
||||
Text[ dutch ] = "Het aangegeven criterium kan niet worden vergeleken met dit veld!";
|
||||
Text[ french ] = "Impossible de comparer le crit<69>re saisi avec ce champ !";
|
||||
Text[ spanish ] = "<22>El criterio indicado no se puede comparar con este campo!";
|
||||
Text[ italian ] = "Il criterio specificato non pu<70> essere paragonato a questo campo!";
|
||||
Text[ danish ] = "Det angivne kriterium kan ikke sammenlignes med dette felt!!";
|
||||
Text[ swedish ] = "Det angivna kriteriet kan inte j<>mf<6D>ras med det h<>r f<>ltet!!";
|
||||
Text[ polish ] = "Podanego kryterium nie mo<6D>na por<6F>wna<6E> 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 ] = "<22><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>!!";
|
||||
Text[ turkish ] = "Belirtilen <20>l<EFBFBD><6C>t, bu alan ile kar<61><72>la<6C>t<EFBFBD>r<EFBFBD>lamaz!!";
|
||||
Text[ finnish ] = "Sy<53>tetty<74> ehtoa ei voi verrata t<>h<EFBFBD>n kentt<74><74>n.";
|
||||
Text[ catalan ] = "El criteri indicat no es pot comparar amb aquest camp!";
|
||||
Text[ thai ] = "ไม่สามารถเปรียบเทียบเกณฑ์ที่ป้อนด้วยเขตข้อมูลนี้ได้";
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
@@ -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 \
|
||||
|
@@ -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
|
||||
*
|
||||
|
@@ -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
|
||||
*
|
||||
|
Reference in New Issue
Block a user