From 431ac990a1148870b962a57222a431aef92f082b Mon Sep 17 00:00:00 2001 From: ondrej Date: Fri, 14 Aug 2020 10:15:40 +0000 Subject: [PATCH] sql parser: add test for SQL generation of fields with path git-svn-id: trunk@46422 - (cherry picked from commit 67d2c51b8d0cdbeda377a687444a4bea9498eb06) --- packages/fcl-db/tests/tcgensql.pas | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/packages/fcl-db/tests/tcgensql.pas b/packages/fcl-db/tests/tcgensql.pas index a2faffc875..0034ec96a3 100644 --- a/packages/fcl-db/tests/tcgensql.pas +++ b/packages/fcl-db/tests/tcgensql.pas @@ -64,6 +64,7 @@ type Procedure TestValueLiteral; Procedure TestLiteralExpression; Procedure TestSelectField; + Procedure TestSelectFieldWithPath; Procedure TestSimpleTablereference; Procedure TestSimpleSelect; Procedure TestAnyExpression; @@ -416,6 +417,24 @@ begin AssertSQL(F,'A AS B'); end; +procedure TTestGenerateSQL.TestSelectFieldWithPath; + +Var + I : TSQLIdentifierExpression; + F : TSQLSelectField; + +begin + I:=CreateIdentifierExpression('A'); + I.AddIdentifierToPath(CreateIdentifier('B')); + I.AddIdentifierToPath(CreateIdentifier('C')); + F:=CreateSelectField(I,''); + AssertSQL(F,'A.B.C', []); + AssertSQL(F,'"A"."B"."C"',[sfoDoubleQuoteIdentifier]); + AssertSQL(F,'`A`.`B`.`C`',[sfoBackQuoteIdentifier]); + AssertSQL(F,'''A''.''B''.''C''',[sfoSingleQuoteIdentifier]); + FTofree:=F; +end; + procedure TTestGenerateSQL.TestSimpleTablereference; Var