6
6
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
7
7
* Portions Copyright (c) 1994, Regents of the University of California
8
8
*
9
- * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.277 2003/06/25 04: 19:24 momjian Exp $
9
+ * $Header: /cvsroot/pgsql/src/backend/parser/analyze.c,v 1.278 2003/07/03 19:07:30 tgl Exp $
10
10
*
11
11
*-------------------------------------------------------------------------
12
12
*/
@@ -459,7 +459,7 @@ transformDeleteStmt(ParseState *pstate, DeleteStmt *stmt)
459
459
qry -> distinctClause = NIL ;
460
460
461
461
/* fix where clause */
462
- qual = transformWhereClause (pstate , stmt -> whereClause );
462
+ qual = transformWhereClause (pstate , stmt -> whereClause , "WHERE" );
463
463
464
464
/* done building the range table and jointree */
465
465
qry -> rtable = pstate -> p_rtable ;
@@ -1588,7 +1588,8 @@ transformIndexStmt(ParseState *pstate, IndexStmt *stmt)
1588
1588
/* no to join list, yes to namespace */
1589
1589
addRTEtoQuery (pstate , rte , false, true);
1590
1590
1591
- stmt -> whereClause = transformWhereClause (pstate , stmt -> whereClause );
1591
+ stmt -> whereClause = transformWhereClause (pstate , stmt -> whereClause ,
1592
+ "WHERE" );
1592
1593
}
1593
1594
1594
1595
/* take care of any index expressions */
@@ -1699,7 +1700,8 @@ transformRuleStmt(ParseState *pstate, RuleStmt *stmt,
1699
1700
}
1700
1701
1701
1702
/* take care of the where clause */
1702
- stmt -> whereClause = transformWhereClause (pstate , stmt -> whereClause );
1703
+ stmt -> whereClause = transformWhereClause (pstate , stmt -> whereClause ,
1704
+ "WHERE" );
1703
1705
1704
1706
if (length (pstate -> p_rtable ) != 2 ) /* naughty, naughty... */
1705
1707
elog (ERROR , "Rule WHERE condition may not contain references to other relations" );
@@ -1891,13 +1893,14 @@ transformSelectStmt(ParseState *pstate, SelectStmt *stmt)
1891
1893
markTargetListOrigins (pstate , qry -> targetList );
1892
1894
1893
1895
/* transform WHERE */
1894
- qual = transformWhereClause (pstate , stmt -> whereClause );
1896
+ qual = transformWhereClause (pstate , stmt -> whereClause , "WHERE" );
1895
1897
1896
1898
/*
1897
1899
* Initial processing of HAVING clause is just like WHERE clause.
1898
1900
* Additional work will be done in optimizer/plan/planner.c.
1899
1901
*/
1900
- qry -> havingQual = transformWhereClause (pstate , stmt -> havingClause );
1902
+ qry -> havingQual = transformWhereClause (pstate , stmt -> havingClause ,
1903
+ "HAVING" );
1901
1904
1902
1905
/*
1903
1906
* Transform sorting/grouping stuff. Do ORDER BY first because both
@@ -1918,8 +1921,10 @@ transformSelectStmt(ParseState *pstate, SelectStmt *stmt)
1918
1921
qry -> targetList ,
1919
1922
& qry -> sortClause );
1920
1923
1921
- qry -> limitOffset = stmt -> limitOffset ;
1922
- qry -> limitCount = stmt -> limitCount ;
1924
+ qry -> limitOffset = transformLimitClause (pstate , stmt -> limitOffset ,
1925
+ "OFFSET" );
1926
+ qry -> limitCount = transformLimitClause (pstate , stmt -> limitCount ,
1927
+ "LIMIT" );
1923
1928
1924
1929
qry -> rtable = pstate -> p_rtable ;
1925
1930
qry -> jointree = makeFromExpr (pstate -> p_joinlist , qual );
@@ -2124,8 +2129,10 @@ transformSetOperationStmt(ParseState *pstate, SelectStmt *stmt)
2124
2129
if (tllen != length (qry -> targetList ))
2125
2130
elog (ERROR , "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result columns" );
2126
2131
2127
- qry -> limitOffset = limitOffset ;
2128
- qry -> limitCount = limitCount ;
2132
+ qry -> limitOffset = transformLimitClause (pstate , limitOffset ,
2133
+ "OFFSET" );
2134
+ qry -> limitCount = transformLimitClause (pstate , limitCount ,
2135
+ "LIMIT" );
2129
2136
2130
2137
qry -> rtable = pstate -> p_rtable ;
2131
2138
qry -> jointree = makeFromExpr (pstate -> p_joinlist , NULL );
@@ -2376,7 +2383,7 @@ transformUpdateStmt(ParseState *pstate, UpdateStmt *stmt)
2376
2383
2377
2384
qry -> targetList = transformTargetList (pstate , stmt -> targetList );
2378
2385
2379
- qual = transformWhereClause (pstate , stmt -> whereClause );
2386
+ qual = transformWhereClause (pstate , stmt -> whereClause , "WHERE" );
2380
2387
2381
2388
qry -> rtable = pstate -> p_rtable ;
2382
2389
qry -> jointree = makeFromExpr (pstate -> p_joinlist , qual );
0 commit comments