📄 absexpressions.hpp
字号:
class DELPHICLASS TABSExprNodeCast;
class PASCALIMPLEMENTATION TABSExprNodeCast : public TABSExprNode
{
typedef TABSExprNode inherited;
private:
Abstypes::TABSAdvancedFieldType FCastType;
TABSExprNode* LCastSizeNode;
public:
__fastcall TABSExprNodeCast(TABSExprNode* Node, Abstypes::TABSAdvancedFieldType CastType, TABSExprNode* CastSizeNode)/* overload */;
virtual Absvariant::TABSVariant* __fastcall GetDataValue(void);
virtual Abstypes::TABSAdvancedFieldType __fastcall GetDataType(void);
virtual int __fastcall GetDataSize(void);
public:
#pragma option push -w-inl
/* TABSExprNode.Destroy */ inline __fastcall virtual ~TABSExprNodeCast(void) { }
#pragma option pop
};
class DELPHICLASS TABSExprNodeCase;
class PASCALIMPLEMENTATION TABSExprNodeCase : public TABSExprNode
{
typedef TABSExprNode inherited;
private:
Classes::TList* FWhenExpressions;
Classes::TList* FResultExpressions;
TABSExprNode* FElseResultExpression;
TABSExprNode* FInputExpression;
DynamicArray<TABSExprNode* > FCoalesceNodes;
bool FIsCoalesceExpression;
public:
void __fastcall CreateInit(void);
__fastcall TABSExprNodeCase(TABSExprNode* InputExpression);
__fastcall TABSExprNodeCase(void);
__fastcall TABSExprNodeCase(TABSExprNodeArray Nodes);
__fastcall virtual ~TABSExprNodeCase(void);
virtual Absvariant::TABSVariant* __fastcall GetDataValue(void);
virtual Abstypes::TABSAdvancedFieldType __fastcall GetDataType(void);
virtual int __fastcall GetDataSize(void);
void __fastcall AddWhenExpression(TABSExprNode* Node);
void __fastcall AddResultExpression(TABSExprNode* Node);
void __fastcall SetElseResultExpression(TABSExprNode* Node);
public:
#pragma option push -w-inl
/* TABSExprNode.Create */ inline __fastcall TABSExprNodeCase(bool CaseInsensitive, bool PartialKey)/* overload */ : TABSExprNode(CaseInsensitive, PartialKey) { }
#pragma option pop
};
class DELPHICLASS TABSExprNodeBlob;
class PASCALIMPLEMENTATION TABSExprNodeBlob : public TABSExprNode
{
typedef TABSExprNode inherited;
private:
void __fastcall MimeToBin(void);
public:
virtual Absvariant::TABSVariant* __fastcall GetDataValue(void);
virtual Abstypes::TABSAdvancedFieldType __fastcall GetDataType(void);
virtual int __fastcall GetDataSize(void);
public:
#pragma option push -w-inl
/* TABSExprNode.Create */ inline __fastcall TABSExprNodeBlob(bool CaseInsensitive, bool PartialKey)/* overload */ : TABSExprNode(CaseInsensitive, PartialKey) { }
#pragma option pop
#pragma option push -w-inl
/* TABSExprNode.Destroy */ inline __fastcall virtual ~TABSExprNodeBlob(void) { }
#pragma option pop
};
class DELPHICLASS TABSExprNodeStringFunction;
class PASCALIMPLEMENTATION TABSExprNodeStringFunction : public TABSExprNode
{
typedef TABSExprNode inherited;
protected:
bool __fastcall InitStringValue(void);
void __fastcall Concat(void);
void __fastcall Upper(void);
void __fastcall Lower(void);
void __fastcall Trim(void);
void __fastcall LTrim(void);
void __fastcall RTrim(void);
void __fastcall Length(void);
void __fastcall Pos(void);
void __fastcall Substring(void);
public:
virtual Absvariant::TABSVariant* __fastcall GetDataValue(void);
virtual Abstypes::TABSAdvancedFieldType __fastcall GetDataType(void);
virtual int __fastcall GetDataSize(void);
public:
#pragma option push -w-inl
/* TABSExprNode.Create */ inline __fastcall TABSExprNodeStringFunction(bool CaseInsensitive, bool PartialKey)/* overload */ : TABSExprNode(CaseInsensitive, PartialKey) { }
#pragma option pop
#pragma option push -w-inl
/* TABSExprNode.Destroy */ inline __fastcall virtual ~TABSExprNodeStringFunction(void) { }
#pragma option pop
};
class DELPHICLASS TABSExprNodeSystem;
class PASCALIMPLEMENTATION TABSExprNodeSystem : public TABSExprNode
{
typedef TABSExprNode inherited;
private:
AnsiString FTableName;
AnsiString FColumnName;
bool FInMemory;
Db::TDataSet* FTable;
Abstypes::TABSAdvancedFieldType FFieldType;
int FRowNumValue;
void __fastcall LastAutoInc(void);
void __fastcall RowNum(void);
public:
__fastcall TABSExprNodeSystem(Abstypes::TABSDataOperator Operator, AnsiString DatabaseName, AnsiString TableName, AnsiString ColumnName, bool InMemory)/* overload */;
__fastcall virtual ~TABSExprNodeSystem(void);
virtual Absvariant::TABSVariant* __fastcall GetDataValue(void);
virtual Abstypes::TABSAdvancedFieldType __fastcall GetDataType(void);
virtual int __fastcall GetDataSize(void);
};
class DELPHICLASS TABSExprNodeDateFunction;
class PASCALIMPLEMENTATION TABSExprNodeDateFunction : public TABSExprNode
{
typedef TABSExprNode inherited;
private:
Absdateformat::TDateFormater* DateFormater;
Abstypes::TABSDateTimeExtractField ExtractDateTimeField;
void __fastcall ToDate(void);
void __fastcall ToString(void);
void __fastcall Extract(void);
public:
__fastcall TABSExprNodeDateFunction(Abstypes::TABSDataOperator Op, TABSExprNode* Node, AnsiString FormatStr)/* overload */;
__fastcall TABSExprNodeDateFunction(Abstypes::TABSDataOperator Op, Abstypes::TABSDateTimeExtractField ExtractField, TABSExprNode* ExtractSource)/* overload */;
__fastcall virtual ~TABSExprNodeDateFunction(void);
virtual Absvariant::TABSVariant* __fastcall GetDataValue(void);
virtual Abstypes::TABSAdvancedFieldType __fastcall GetDataType(void);
virtual int __fastcall GetDataSize(void);
};
typedef bool __fastcall (__closure *TCheckResultsMethod)(void);
typedef DynamicArray<Absvariant::TABSVariant* > ABSExpressions__61;
class DELPHICLASS TABSExprNodeSubquery;
class PASCALIMPLEMENTATION TABSExprNodeSubquery : public TABSExprNode
{
typedef TABSExprNode inherited;
private:
bool FMustHaveOneField;
bool FMustHaveOneRow;
Absvariant::TABSVariant* FValue;
DynamicArray<Absvariant::TABSVariant* > FFieldValues;
Db::TDataSet* LDataset;
Abslexer::TABSLexer* LLexer;
Absrelationalalgebra::TABSAO* LAO;
Absbase::TABSCursor* LCursor;
char *LCursorRecordBuffer;
System::TObject* FSubquery;
int FCommandNo;
int FTokenNo;
Absvariant::TABSVariant* LValueToCheck;
Absvariant::TABSVariant* FPriorValueToCheck;
bool FPriorResult;
bool FPriorResultInitalized;
Abstypes::TABSDataOperator FCompareOperator;
TABSQuantifier FCompareQuantifier;
bool FCorrelated;
bool __fastcall CheckGetDataValue(void);
bool __fastcall CheckGetFieldValues(void);
bool __fastcall CheckExists(void);
bool __fastcall CheckIsValueIn(void);
bool __fastcall CheckQuantifiedCompare(void);
bool __fastcall RunQueryAndCheckResults(TCheckResultsMethod CheckMethod);
public:
__fastcall TABSExprNodeSubquery(bool MustHaveOneField, bool MustHaveOneRow, Db::TDataSet* Dataset, Abslexer::TABSLexer* Lexer);
__fastcall virtual ~TABSExprNodeSubquery(void);
virtual void __fastcall AssignCursor(Absbase::TABSCursor* Cursor, Absrelationalalgebra::TABSAO* ParentQueryAO, Absbase::TABSCursor* ParentCursor);
virtual void __fastcall AssignCursorBuffer(char * Buffer, bool ApplyToParentQueryFields);
virtual void __fastcall AssignAO(Absrelationalalgebra::TABSAO* AO, Absrelationalalgebra::TABSAO* ParentQueryAO, Absbase::TABSCursor* ParentCursor);
virtual bool __fastcall CanBeAssigned(Absrelationalalgebra::TABSAO* AO, Absrelationalalgebra::TABSAO* ParentQueryAO, Absbase::TABSCursor* ParentCursor, bool ForHavingClause = false);
virtual Absvariant::TABSVariant* __fastcall GetDataValue(void);
virtual void __fastcall ResetSubqueryFieldValues(void);
virtual Absvariant::TABSVariant* __fastcall GetSubqueryFieldValue(int FieldNo);
virtual Abstypes::TABSAdvancedFieldType __fastcall GetDataType(void);
virtual int __fastcall GetDataSize(void);
bool __fastcall Exists(void);
bool __fastcall IsValueIn(Absvariant::TABSVariant* Value);
bool __fastcall QuantifiedCompare(Abstypes::TABSDataOperator Operator, TABSQuantifier Quantifier, Absvariant::TABSVariant* Value);
};
//-- var, const, procedure ---------------------------------------------------
extern PACKAGE AnsiString __fastcall GetOperatorName(Abstypes::TABSDataOperator op);
extern PACKAGE Abstypes::TABSAdvancedFieldType __fastcall GetFieldType(const AnsiString TypeName);
extern PACKAGE void __fastcall FillFieldNames(Classes::TStringList* List, const AnsiString Names);
extern PACKAGE Abstypes::TABSDataOperator __fastcall ReverseComparisonOperator(Abstypes::TABSDataOperator CompOp);
extern PACKAGE Abstypes::TABSDataOperator __fastcall InvertComparisonOperator(Abstypes::TABSDataOperator CompOp);
extern PACKAGE bool __fastcall IsNonConstantExpression(Absvariant::TABSVariant* Value);
} /* namespace Absexpressions */
using namespace Absexpressions;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Absexpressions
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -