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.

Constructor & Destructor Documentation

◆ KDbBinaryExpressionData()

KDbBinaryExpressionData::KDbBinaryExpressionData ( )

Definition at line 31 of file KDbBinaryExpression.cpp.

◆ ~KDbBinaryExpressionData()

KDbBinaryExpressionData::~KDbBinaryExpressionData ( )
override

Definition at line 37 of file KDbBinaryExpression.cpp.

Member Function Documentation

◆ clone()

KDbBinaryExpressionData * KDbBinaryExpressionData::clone ( )
overridevirtual

Reimplemented from KDbExpressionData.

Definition at line 288 of file KDbBinaryExpression.cpp.

◆ 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.

◆ getQueryParameters()

void KDbBinaryExpressionData::getQueryParameters ( QList< KDbQuerySchemaParameter > * params)
overridevirtual

Reimplemented from KDbExpressionData.

Definition at line 339 of file KDbBinaryExpression.cpp.

◆ left()

ExplicitlySharedExpressionDataPointer KDbBinaryExpressionData::left ( ) const

Definition at line 348 of file KDbBinaryExpression.cpp.

◆ right()

ExplicitlySharedExpressionDataPointer KDbBinaryExpressionData::right ( ) const

Definition at line 352 of file KDbBinaryExpression.cpp.

◆ toStringInternal()

KDbEscapedString KDbBinaryExpressionData::toStringInternal ( const KDbDriver * driver,
KDbQuerySchemaParameterValueListIterator * params,
KDb::ExpressionCallStack * callStack ) const
overrideprotectedvirtual

Reimplemented from KDbExpressionData.

Definition at line 315 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
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
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-2024 The KDE developers.
Generated on Sun Feb 25 2024 18:47:38 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.