KDbBinaryExpressionData

Search for usage in LXR

KDbBinaryExpressionData Class Reference

#include <KDbExpressionData.h>

Inheritance diagram for KDbBinaryExpressionData:

Public Member Functions

KDbBinaryExpressionDataclone () override
 
void getQueryParameters (QList< KDbQuerySchemaParameter > *params) override
 
ExplicitlySharedExpressionDataPointer left () const
 
ExplicitlySharedExpressionDataPointer right () const
 
- Public Member Functions inherited from KDbExpressionData
template<typename T >
T * convert ()
 
template<typename T >
const T * convertConst () const
 
QDebug debug (QDebug dbg, KDb::ExpressionCallStack *callStack) const
 
bool isDateTimeType () const
 
bool isFPNumericType () const
 
bool isIntegerType () const
 
bool isNumericType () const
 
bool isTextType () const
 
bool isValid () const
 
KDbEscapedString toString (const KDbDriver *driver, KDbQuerySchemaParameterValueListIterator *params=nullptr, KDb::ExpressionCallStack *callStack=nullptr) const
 
KDbField::Type type () const
 
KDbField::Type type (KDb::ExpressionCallStack *callStack) const
 
bool validate (KDbParseInfo *parseInfo)
 
bool validate (KDbParseInfo *parseInfo, KDb::ExpressionCallStack *callStack)
 
- Public Member Functions inherited from QSharedData
 QSharedData (const QSharedData &)
 

Protected Member Functions

void debugInternal (QDebug dbg, KDb::ExpressionCallStack *callStack) const override
 
void setLeft (const KDbExpressionData &left)
 
KDbEscapedString toStringInternal (const KDbDriver *driver, KDbQuerySchemaParameterValueListIterator *params, KDb::ExpressionCallStack *callStack) const override
 
KDbField::Type typeInternal (KDb::ExpressionCallStack *callStack) const override
 
bool validateInternal (KDbParseInfo *parseInfo, KDb::ExpressionCallStack *callStack) override
 
- Protected Member Functions inherited from KDbExpressionData
bool addToCallStack (QDebug *dbg, KDb::ExpressionCallStack *callStack) const
 

Additional Inherited Members

- Public Attributes inherited from KDbExpressionData
QList< ExplicitlySharedExpressionDataPointerchildren
 
KDb::ExpressionClass expressionClass
 
ExplicitlySharedExpressionDataPointer parent
 
KDbToken token
 

Detailed Description

Internal data class used to implement implicitly shared class KDbBinaryExpression.

Provides thread-safe reference counting.

Definition at line 188 of file KDbExpressionData.h.

Member Function Documentation

◆ debugInternal()

void KDbBinaryExpressionData::debugInternal ( QDebug  dbg,
KDb::ExpressionCallStack callStack 
) const
overrideprotectedvirtual

Sends information about this expression to debug output dbg (internal).

Reimplemented from KDbExpressionData.

Definition at line 294 of file KDbBinaryExpression.cpp.

◆ typeInternal()

KDbField::Type KDbBinaryExpressionData::typeInternal ( KDb::ExpressionCallStack callStack) const
overrideprotectedvirtual
Todo:
add general support, e.g. for "NULL AND (1 == 1)"; for now we only support constants because there's no evaluation and operations with NULL depend on whether we have TRUE or FALSE See https://www.postgresql.org/docs/9.4/static/functions-logical.html https://dev.mysql.com/doc/refman/5.0/en/logical-operators.html
Todo:
Any OR NULL may be also TRUE – but this needs support of fuzzy/multivalue types
Todo:
NULL OR Any may be also TRUE – but this needs support of fuzzy/multivalue types
Todo:
Any AND NULL may be also FALSE – but this needs support of fuzzy/multivalue types
Todo:
NULL AND Any may be also FALSE – but this needs support of fuzzy/multivalue types
Todo:
can be other Integer too
Todo:
can be other Integer too

Reimplemented from KDbExpressionData.

Definition at line 77 of file KDbBinaryExpression.cpp.

◆ validateInternal()

bool KDbBinaryExpressionData::validateInternal ( KDbParseInfo *  parseInfo,
KDb::ExpressionCallStack callStack 
)
overrideprotectedvirtual
Todo:
IMPORTANT: update type for query parameters

Reimplemented from KDbExpressionData.

Definition at line 41 of file KDbBinaryExpression.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Oct 3 2023 04:09:18 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.