Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8fc4197

Browse files
committed
Fix omission of DiscardStmt in GetCommandLogLevel, per report from Hubert
Depesz Lubaczewski. In HEAD, also move a couple of other cases to make thecode ordering match up with ProcessUtility.
1 parent9d3275e commit8fc4197

File tree

1 file changed

+42
-37
lines changed

1 file changed

+42
-37
lines changed

‎src/backend/tcop/utility.c

Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
*
1111
*
1212
* IDENTIFICATION
13-
* $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.298 2008/09/01 20:42:45 tgl Exp $
13+
* $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.299 2008/10/10 13:48:05 tgl Exp $
1414
*
1515
*-------------------------------------------------------------------------
1616
*/
@@ -147,7 +147,8 @@ check_xact_readonly(Node *parsetree)
147147

148148
/*
149149
* Note: Commands that need to do more complicated checking are handled
150-
* elsewhere.
150+
* elsewhere, in particular COPY and plannable statements do their
151+
* own checking.
151152
*/
152153

153154
switch (nodeTag(parsetree))
@@ -2015,10 +2016,6 @@ GetCommandLogLevel(Node *parsetree)
20152016
lev=LOGSTMT_ALL;
20162017
break;
20172018

2018-
caseT_CreateDomainStmt:
2019-
lev=LOGSTMT_DDL;
2020-
break;
2021-
20222019
caseT_CreateSchemaStmt:
20232020
lev=LOGSTMT_DDL;
20242021
break;
@@ -2054,6 +2051,33 @@ GetCommandLogLevel(Node *parsetree)
20542051
lev=LOGSTMT_ALL;
20552052
break;
20562053

2054+
caseT_PrepareStmt:
2055+
{
2056+
PrepareStmt*stmt= (PrepareStmt*)parsetree;
2057+
2058+
/* Look through a PREPARE to the contained stmt */
2059+
lev=GetCommandLogLevel(stmt->query);
2060+
}
2061+
break;
2062+
2063+
caseT_ExecuteStmt:
2064+
{
2065+
ExecuteStmt*stmt= (ExecuteStmt*)parsetree;
2066+
PreparedStatement*ps;
2067+
2068+
/* Look through an EXECUTE to the referenced stmt */
2069+
ps=FetchPreparedStatement(stmt->name, false);
2070+
if (ps)
2071+
lev=GetCommandLogLevel(ps->plansource->raw_parse_tree);
2072+
else
2073+
lev=LOGSTMT_ALL;
2074+
}
2075+
break;
2076+
2077+
caseT_DeallocateStmt:
2078+
lev=LOGSTMT_ALL;
2079+
break;
2080+
20572081
caseT_RenameStmt:
20582082
lev=LOGSTMT_DDL;
20592083
break;
@@ -2074,10 +2098,6 @@ GetCommandLogLevel(Node *parsetree)
20742098
lev=LOGSTMT_DDL;
20752099
break;
20762100

2077-
caseT_AlterFunctionStmt:
2078-
lev=LOGSTMT_DDL;
2079-
break;
2080-
20812101
caseT_GrantStmt:
20822102
lev=LOGSTMT_DDL;
20832103
break;
@@ -2106,6 +2126,10 @@ GetCommandLogLevel(Node *parsetree)
21062126
lev=LOGSTMT_DDL;
21072127
break;
21082128

2129+
caseT_AlterFunctionStmt:
2130+
lev=LOGSTMT_DDL;
2131+
break;
2132+
21092133
caseT_IndexStmt:
21102134
lev=LOGSTMT_DDL;
21112135
break;
@@ -2186,6 +2210,10 @@ GetCommandLogLevel(Node *parsetree)
21862210
lev=LOGSTMT_ALL;
21872211
break;
21882212

2213+
caseT_DiscardStmt:
2214+
lev=LOGSTMT_ALL;
2215+
break;
2216+
21892217
caseT_CreateTrigStmt:
21902218
lev=LOGSTMT_DDL;
21912219
break;
@@ -2202,6 +2230,10 @@ GetCommandLogLevel(Node *parsetree)
22022230
lev=LOGSTMT_DDL;
22032231
break;
22042232

2233+
caseT_CreateDomainStmt:
2234+
lev=LOGSTMT_DDL;
2235+
break;
2236+
22052237
caseT_CreateRoleStmt:
22062238
lev=LOGSTMT_DDL;
22072239
break;
@@ -2282,33 +2314,6 @@ GetCommandLogLevel(Node *parsetree)
22822314
lev=LOGSTMT_DDL;
22832315
break;
22842316

2285-
caseT_PrepareStmt:
2286-
{
2287-
PrepareStmt*stmt= (PrepareStmt*)parsetree;
2288-
2289-
/* Look through a PREPARE to the contained stmt */
2290-
lev=GetCommandLogLevel(stmt->query);
2291-
}
2292-
break;
2293-
2294-
caseT_ExecuteStmt:
2295-
{
2296-
ExecuteStmt*stmt= (ExecuteStmt*)parsetree;
2297-
PreparedStatement*ps;
2298-
2299-
/* Look through an EXECUTE to the referenced stmt */
2300-
ps=FetchPreparedStatement(stmt->name, false);
2301-
if (ps)
2302-
lev=GetCommandLogLevel(ps->plansource->raw_parse_tree);
2303-
else
2304-
lev=LOGSTMT_ALL;
2305-
}
2306-
break;
2307-
2308-
caseT_DeallocateStmt:
2309-
lev=LOGSTMT_ALL;
2310-
break;
2311-
23122317
/* already-planned queries */
23132318
caseT_PlannedStmt:
23142319
{

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp