mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-15 16:29:14 +02:00
* Implemented AS for table aliases
git-svn-id: trunk@19631 -
This commit is contained in:
parent
7effdb1eaa
commit
672d7f6b63
@ -323,8 +323,13 @@ begin
|
|||||||
T.Params:=ParseValueList(AParent,[eoParamValue]);
|
T.Params:=ParseValueList(AParent,[eoParamValue]);
|
||||||
GetNextToken;
|
GetNextToken;
|
||||||
end;
|
end;
|
||||||
if (CurrentToken=tsqlIdentifier) then
|
if (CurrentToken in [tsqlIdentifier,tsqlAs]) then
|
||||||
begin
|
begin
|
||||||
|
if CurrentToken=tsqlAs then
|
||||||
|
begin
|
||||||
|
GetNextToken;
|
||||||
|
Expect(tsqlIdentifier);
|
||||||
|
end;
|
||||||
T.AliasName:=CreateIdentifier(T,CurrentTokenString);
|
T.AliasName:=CreateIdentifier(T,CurrentTokenString);
|
||||||
GetNextToken;
|
GetNextToken;
|
||||||
end;
|
end;
|
||||||
|
@ -377,6 +377,7 @@ type
|
|||||||
procedure TestSelectAsteriskOneTable;
|
procedure TestSelectAsteriskOneTable;
|
||||||
procedure TestSelectDistinctAsteriskOneTable;
|
procedure TestSelectDistinctAsteriskOneTable;
|
||||||
procedure TestSelectOneFieldOneTableAlias;
|
procedure TestSelectOneFieldOneTableAlias;
|
||||||
|
procedure TestSelectOneFieldOneTableAsAlias;
|
||||||
procedure TestSelectTwoFieldsTwoTables;
|
procedure TestSelectTwoFieldsTwoTables;
|
||||||
procedure TestSelectTwoFieldsTwoTablesJoin;
|
procedure TestSelectTwoFieldsTwoTablesJoin;
|
||||||
procedure TestSelectTwoFieldsTwoInnerTablesJoin;
|
procedure TestSelectTwoFieldsTwoInnerTablesJoin;
|
||||||
@ -3680,6 +3681,15 @@ begin
|
|||||||
AssertTable(Select.Tables[0],'A');
|
AssertTable(Select.Tables[0],'A');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TTestSelectParser.TestSelectOneFieldOneTableAsAlias;
|
||||||
|
begin
|
||||||
|
TestSelect('SELECT C.B FROM A AS C');
|
||||||
|
AssertEquals('One field',1,Select.Fields.Count);
|
||||||
|
AssertField(Select.Fields[0],'C.B');
|
||||||
|
AssertEquals('One table',1,Select.Tables.Count);
|
||||||
|
AssertTable(Select.Tables[0],'A');
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TTestSelectParser.TestSelectTwoFieldsTwoTables;
|
procedure TTestSelectParser.TestSelectTwoFieldsTwoTables;
|
||||||
begin
|
begin
|
||||||
TestSelect('SELECT B,C FROM A,D');
|
TestSelect('SELECT B,C FROM A,D');
|
||||||
|
Loading…
Reference in New Issue
Block a user