diff --git a/src/backend/distributed/planner/distributed_planner.c b/src/backend/distributed/planner/distributed_planner.c index 4e2370130..5f9c56212 100644 --- a/src/backend/distributed/planner/distributed_planner.c +++ b/src/backend/distributed/planner/distributed_planner.c @@ -150,7 +150,7 @@ distributed_planner(Query *parse, { AttributeQueryIfAnnotated(query_string, parse->commandType); } - + List *rangeTableList = ExtractRangeTableEntryList(parse); if (cursorOptions & CURSOR_OPT_FORCE_DISTRIBUTED) diff --git a/src/backend/distributed/utils/attribute.c b/src/backend/distributed/utils/attribute.c index 29862dce5..8dd222205 100644 --- a/src/backend/distributed/utils/attribute.c +++ b/src/backend/distributed/utils/attribute.c @@ -193,17 +193,19 @@ AttributeQueryIfAnnotated(const char *query_string, CmdType commandType) } int colocationId = ExtractFieldInt32(jsonbDatum, "cId", - 0); + 0); AttributeTask(tenantId, colocationId, commandType); } } } + /* * AttributeTask assigns the given attributes of a tenant and starts a timer */ -void AttributeTask(char *tenantId, int colocationId, CmdType commandType) +void +AttributeTask(char *tenantId, int colocationId, CmdType commandType) { colocationGroupId = colocationId; strcpy_s(attributeToTenant, sizeof(attributeToTenant), tenantId); @@ -212,14 +214,15 @@ void AttributeTask(char *tenantId, int colocationId, CmdType commandType) if (MultiTenantMonitoringLogLevel != CITUS_LOG_LEVEL_OFF) { ereport(NOTICE, (errmsg( - "attributing query to tenant: %s, colocationGroupId: %d", - quote_literal_cstr(attributeToTenant), - colocationGroupId))); + "attributing query to tenant: %s, colocationGroupId: %d", + quote_literal_cstr(attributeToTenant), + colocationGroupId))); } attributeToTenantStart = clock(); } + /* * AnnotateQuery annotates the query with tenant attributes. */ @@ -621,42 +624,43 @@ MultiTenantMonitorshmemSize(void) static char * ExtractTopComment(const char *inputString) { - int commentCharsLength = 2; - int inputStringLen = strlen(inputString); - if (inputStringLen < commentCharsLength) - { - return NULL; - } + int commentCharsLength = 2; + int inputStringLen = strlen(inputString); + if (inputStringLen < commentCharsLength) + { + return NULL; + } - const char *commentStartChars = "/*"; - const char *commentEndChars = "*/"; + const char *commentStartChars = "/*"; + const char *commentEndChars = "*/"; - /* If query doesn't start with a comment, return NULL */ - if (strstr(inputString, commentStartChars) != inputString) - { - return NULL; - } + /* If query doesn't start with a comment, return NULL */ + if (strstr(inputString, commentStartChars) != inputString) + { + return NULL; + } - StringInfo commentData = makeStringInfo(); + StringInfo commentData = makeStringInfo(); - /* Skip the comment start characters */ - const char *commentStart = inputString + commentCharsLength; + /* Skip the comment start characters */ + const char *commentStart = inputString + commentCharsLength; - /* Find the first comment end character */ - const char *commentEnd = strstr(commentStart, commentEndChars); - if (commentEnd == NULL) - { - return NULL; - } + /* Find the first comment end character */ + const char *commentEnd = strstr(commentStart, commentEndChars); + if (commentEnd == NULL) + { + return NULL; + } - /* Append the comment to the StringInfo buffer */ - int commentLength = commentEnd - commentStart; - appendStringInfo(commentData, "%.*s", commentLength, commentStart); + /* Append the comment to the StringInfo buffer */ + int commentLength = commentEnd - commentStart; + appendStringInfo(commentData, "%.*s", commentLength, commentStart); - /* Return the extracted comment */ - return commentData->data; + /* Return the extracted comment */ + return commentData->data; } + /* EscapeCommentChars adds a backslash before each occurrence of '*' or '/' in the input string */ static char * EscapeCommentChars(const char *str) @@ -673,11 +677,12 @@ EscapeCommentChars(const char *str) } appendStringInfoChar(escapedString, str[originalStringIndex]); - } + } return escapedString->data; } + /* UnescapeCommentChars removes the backslash that precedes '*' or '/' in the input string. */ static char * UnescapeCommentChars(const char *str)