add IsLoggableLevel utility function (#3149)

* add IsLoggableLevel utility function

* add function comment for IsLoggableLevel

* put ApplyLogRedaction to logutils
pull/3164/head
SaitTalhaNisanci 2019-11-15 14:59:13 +03:00 committed by GitHub
parent 1b2c438e69
commit b9b7fd7660
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 78 additions and 20 deletions

View File

@ -72,6 +72,7 @@
#include "distributed/commands/utility_hook.h"
#include "distributed/intermediate_results.h"
#include "distributed/local_executor.h"
#include "distributed/log_utils.h"
#include "distributed/master_protocol.h"
#include "distributed/metadata_cache.h"
#include "distributed/multi_partitioning_utils.h"

View File

@ -19,6 +19,7 @@
#include "commands/dbcommands.h"
#include "distributed/connection_management.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/memutils.h"
#include "distributed/metadata_cache.h"
#include "distributed/hash_helpers.h"

View File

@ -15,6 +15,7 @@
#include "distributed/connection_management.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/remote_commands.h"
#include "lib/stringinfo.h"
#include "miscadmin.h"

View File

@ -26,6 +26,7 @@
#include "distributed/multi_server_executor.h"
#include "distributed/subplan_execution.h"
#include "distributed/worker_protocol.h"
#include "distributed/log_utils.h"
#include "utils/lsyscache.h"
int RemoteTaskCheckInterval = 100; /* per cycle sleep interval in millisecs */
@ -51,7 +52,7 @@ JobExecutorType(DistributedPlan *distributedPlan)
/* debug distribution column value */
if (routerExecutablePlan)
{
if (log_min_messages <= DEBUG2 || client_min_messages <= DEBUG2)
if (IsLoggableLevel(DEBUG2))
{
Const *partitionValueConst = job->partitionKeyValue;

View File

@ -15,6 +15,7 @@
#include "distributed/citus_ruleutils.h"
#include "distributed/colocation_utils.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/insert_select_planner.h"
#include "distributed/metadata_cache.h"
#include "distributed/multi_executor.h"

View File

@ -43,6 +43,7 @@
#include "distributed/multi_logical_optimizer.h"
#include "distributed/multi_logical_planner.h"
#include "distributed/multi_physical_planner.h"
#include "distributed/log_utils.h"
#include "distributed/pg_dist_partition.h"
#include "distributed/pg_dist_shard.h"
#include "distributed/query_pushdown_planning.h"
@ -3834,7 +3835,7 @@ JoinPrunable(RangeTableFragment *leftFragment, RangeTableFragment *rightFragment
overlap = ShardIntervalsOverlap(leftFragmentInterval, rightFragmentInterval);
if (!overlap)
{
if (log_min_messages <= DEBUG2 || client_min_messages <= DEBUG2)
if (IsLoggableLevel(DEBUG2))
{
StringInfo leftString = FragmentIntervalString(leftFragmentInterval);
StringInfo rightString = FragmentIntervalString(rightFragmentInterval);

View File

@ -25,6 +25,7 @@
#include "distributed/deparse_shard_query.h"
#include "distributed/distribution_column.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/insert_select_planner.h"
#include "distributed/master_metadata_utility.h"
#include "distributed/master_protocol.h"

View File

@ -59,6 +59,7 @@
#include "distributed/commands/multi_copy.h"
#include "distributed/distributed_planner.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/metadata_cache.h"
#include "distributed/multi_logical_planner.h"
#include "distributed/multi_router_planner.h"
@ -68,6 +69,7 @@
#include "distributed/query_pushdown_planning.h"
#include "distributed/recursive_planning.h"
#include "distributed/relation_restriction_equivalence.h"
#include "distributed/log_utils.h"
#include "distributed/version_compat.h"
#include "lib/stringinfo.h"
#include "optimizer/planner.h"
@ -222,8 +224,7 @@ GenerateSubplansForSubqueriesAndCTEs(uint64 planId, Query *originalQuery,
RaiseDeferredError(error, ERROR);
}
if (context.subPlanList && (log_min_messages <= DEBUG1 || client_min_messages <=
DEBUG1))
if (context.subPlanList && IsLoggableLevel(DEBUG1))
{
StringInfo subPlanString = makeStringInfo();
pg_get_query_def(originalQuery, subPlanString);
@ -730,7 +731,7 @@ RecursivelyPlanCTEs(Query *query, RecursivePlanningContext *planningContext)
subPlanId = list_length(planningContext->subPlanList) + 1;
if (log_min_messages <= DEBUG1 || client_min_messages <= DEBUG1)
if (IsLoggableLevel(DEBUG1))
{
StringInfo subPlanString = makeStringInfo();
pg_get_query_def(subquery, subPlanString);
@ -1129,7 +1130,7 @@ RecursivelyPlanSubquery(Query *subquery, RecursivePlanningContext *planningConte
* Subquery will go through the standard planner, thus to properly deparse it
* we keep its copy: debugQuery.
*/
if (log_min_messages <= DEBUG1 || client_min_messages <= DEBUG1)
if (IsLoggableLevel(DEBUG1))
{
debugQuery = copyObject(subquery);
}
@ -1151,7 +1152,7 @@ RecursivelyPlanSubquery(Query *subquery, RecursivePlanningContext *planningConte
*/
resultQuery = BuildSubPlanResultQuery(subquery->targetList, NIL, resultId);
if (log_min_messages <= DEBUG1 || client_min_messages <= DEBUG1)
if (IsLoggableLevel(DEBUG1))
{
StringInfo subqueryString = makeStringInfo();
@ -1446,6 +1447,7 @@ TransformFunctionRTE(RangeTblEntry *rangeTblEntry)
subquery->targetList = lappend(subquery->targetList, targetEntry);
}
}
/*
* If tupleDesc is NULL we have 2 different cases:
*
@ -1496,6 +1498,7 @@ TransformFunctionRTE(RangeTblEntry *rangeTblEntry)
columnType = list_nth_oid(rangeTblFunction->funccoltypes,
targetColumnIndex);
}
/* use the types in the function definition otherwise */
else
{

View File

@ -18,6 +18,7 @@
#include "distributed/backend_data.h"
#include "distributed/distributed_deadlock_detection.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/hash_helpers.h"
#include "distributed/listutils.h"
#include "distributed/lock_graph.h"

View File

@ -14,6 +14,7 @@
#include "distributed/citus_nodes.h"
#include "distributed/citus_nodefuncs.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/metadata_cache.h"
#include "distributed/distributed_planner.h"
#include "distributed/multi_router_planner.h"

View File

@ -23,6 +23,7 @@
#include "distributed/citus_nodefuncs.h"
#include "distributed/citus_nodes.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/multi_logical_planner.h"
#include "distributed/multi_physical_planner.h"
#include "distributed/distributed_planner.h"

View File

@ -15,6 +15,7 @@
#include "distributed/citus_nodefuncs.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/distributed_planner.h"
#include "distributed/multi_server_executor.h"
#include "nodes/parsenodes.h"

View File

@ -10,17 +10,7 @@
#include "distributed/citus_nodes.h"
#include "distributed/errormessage.h"
/*
* ApplyLogRedaction is only supported in Citus Enterprise
*/
char *
ApplyLogRedaction(const char *logText)
{
return (char *) logText;
}
#include "distributed/log_utils.h"
/*
* DeferredErrorInternal is a helper function for DeferredError().

View File

@ -0,0 +1,35 @@
/*-------------------------------------------------------------------------
*
* log_utils.c
* Utilities regarding logs
*
* Copyright (c) Citus Data, Inc.
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "utils/guc.h"
#include "distributed/log_utils.h"
/*
* IsLoggableLevel returns true if either of client or server log guc is configured to
* log the given log level.
* In postgres, log can be configured differently for clients and servers.
*/
bool
IsLoggableLevel(int logLevel)
{
return log_min_messages <= logLevel || client_min_messages <= logLevel;
}
/*
* ApplyLogRedaction is only supported in Citus Enterprise
*/
char *
ApplyLogRedaction(const char *logText)
{
return (char *) logText;
}

View File

@ -22,6 +22,7 @@
#include "distributed/citus_nodes.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
/* values used by jobs and tasks which do not require identifiers */

View File

@ -72,5 +72,3 @@ DeferredErrorMessage * DeferredErrorInternal(int code, const char *message, cons
void RaiseDeferredErrorInternal(DeferredErrorMessage *error, int elevel);
#endif
extern char * ApplyLogRedaction(const char *text);

View File

@ -0,0 +1,15 @@
/*-------------------------------------------------------------------------
* log_utils.h
*
* Copyright (c) Citus Data, Inc.
*
*-------------------------------------------------------------------------
*/
#ifndef LOG_UTILS_H
#define LOG_UTILS_H
extern bool IsLoggableLevel(int logLevel);
extern char * ApplyLogRedaction(const char *text);
#endif /* LOG_UTILS_H */

View File

@ -16,6 +16,7 @@
#include "distributed/citus_nodes.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/multi_join_order.h"
#include "distributed/relation_restriction_equivalence.h"
#include "nodes/nodes.h"

View File

@ -20,6 +20,7 @@
#include "datatype/timestamp.h"
#include "distributed/citus_nodes.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/master_metadata_utility.h"
#include "distributed/multi_logical_planner.h"
#include "distributed/distributed_planner.h"

View File

@ -15,6 +15,7 @@
#include "c.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/multi_logical_planner.h"
#include "distributed/multi_physical_planner.h"
#include "distributed/distributed_planner.h"

View File

@ -16,6 +16,7 @@
#include "distributed/multi_logical_planner.h"
#include "distributed/multi_physical_planner.h"
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
/* Config variables managed via guc.c */

View File

@ -12,6 +12,7 @@
#include "distributed/errormessage.h"
#include "distributed/log_utils.h"
#include "distributed/relation_restriction_equivalence.h"
#include "nodes/pg_list.h"
#include "nodes/primnodes.h"