mirror of https://github.com/citusdata/citus.git
Escape/Unescape sql comment chars
parent
230a189c1f
commit
44fec55d58
|
@ -23,6 +23,7 @@
|
||||||
#include "utils/builtins.h"
|
#include "utils/builtins.h"
|
||||||
#include "utils/json.h"
|
#include "utils/json.h"
|
||||||
#include "distributed/utils/attribute.h"
|
#include "distributed/utils/attribute.h"
|
||||||
|
#include "common/base64.h"
|
||||||
|
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
@ -171,7 +172,7 @@ AttributeQueryIfAnnotated(const char *query_string, CmdType commandType)
|
||||||
text *tenantIdTextP = ExtractFieldTextP(jsonbDatum, "tId");
|
text *tenantIdTextP = ExtractFieldTextP(jsonbDatum, "tId");
|
||||||
if (tenantIdTextP != NULL)
|
if (tenantIdTextP != NULL)
|
||||||
{
|
{
|
||||||
char *tenantId = text_to_cstring(tenantIdTextP);
|
char *tenantId = UnescapeCommentChars(text_to_cstring(tenantIdTextP));
|
||||||
strcpy_s(attributeToTenant, sizeof(attributeToTenant), tenantId);
|
strcpy_s(attributeToTenant, sizeof(attributeToTenant), tenantId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -202,12 +203,15 @@ AnnotateQuery(char *queryString, char *partitionColumn, int colocationId)
|
||||||
return queryString;
|
return queryString;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *commentCharsEscaped = EscapeCommentChars(partitionColumn);
|
||||||
StringInfo escapedSourceName = makeStringInfo();
|
StringInfo escapedSourceName = makeStringInfo();
|
||||||
escape_json(escapedSourceName, partitionColumn);
|
|
||||||
|
escape_json(escapedSourceName, commentCharsEscaped);
|
||||||
|
|
||||||
StringInfo newQuery = makeStringInfo();
|
StringInfo newQuery = makeStringInfo();
|
||||||
appendStringInfo(newQuery, ATTRIBUTE_STRING_FORMAT, escapedSourceName->data,
|
appendStringInfo(newQuery, ATTRIBUTE_STRING_FORMAT, escapedSourceName->data,
|
||||||
colocationId);
|
colocationId);
|
||||||
|
|
||||||
appendStringInfoString(newQuery, queryString);
|
appendStringInfoString(newQuery, queryString);
|
||||||
|
|
||||||
return newQuery->data;
|
return newQuery->data;
|
||||||
|
|
Loading…
Reference in New Issue