-
Notifications
You must be signed in to change notification settings - Fork 8
chore: convert 'null' string array value to list with 'null' value #186
Changes from 6 commits
da7e1ec
5336c3b
61750ec
8cb1ea6
44bf5bc
cb44fd5
76e4bb4
53737a6
a17bd2b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -30,6 +30,8 @@ public class TimeAggregationsWithGroupByRequestHandler implements IRequestHandle | |
| private static final Logger LOG = | ||
| LoggerFactory.getLogger(TimeAggregationsWithGroupByRequestHandler.class); | ||
|
|
||
| private static final List<String> LIST_WITH_NULL_STRING = List.of("null"); | ||
|
|
||
| private final AttributeMetadataProvider attributeMetadataProvider; | ||
| private final RequestHandler normalRequestHandler; | ||
| private final TimeAggregationsRequestHandler timeAggregationsRequestHandler; | ||
|
|
@@ -228,7 +230,14 @@ private void buildInClauseFilterValue(Value value, Value.Builder valueBuilder) { | |
| valueBuilder.addStringArray(value.getString()); | ||
| break; | ||
| case STRING_ARRAY: | ||
| valueBuilder.addAllStringArray(value.getStringArrayList()); | ||
| // Handle special case when "null" string is returned as string array value(default value | ||
| // scenario). This will be converted to empty list in value converter. In such a case use | ||
| // list with "null" value | ||
| if (value.getStringArrayList().isEmpty()) { | ||
|
||
| valueBuilder.addAllStringArray(LIST_WITH_NULL_STRING); | ||
| } else { | ||
| valueBuilder.addAllStringArray(value.getStringArrayList()); | ||
| } | ||
| break; | ||
| case LONG: | ||
| valueBuilder.addLongArray(value.getLong()); | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,98 @@ | ||
| { | ||
| "row": [ | ||
| { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615593600000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1616" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615593600000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY", | ||
| "string_array": ["nginx-traceshop"] | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1989" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615597200000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "2525" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615597200000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY", | ||
| "string_array": ["nginx-traceshop"] | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1977" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615593600000" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "27485" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING", | ||
| "string": "__Other" | ||
| } | ||
| } | ||
| }, | ||
| { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615597200000" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "27192" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING", | ||
| "string": "__Other" | ||
| } | ||
| } | ||
| } | ||
| ] | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,90 @@ | ||
| { | ||
| "row": [{ | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615593600000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1616" | ||
| } | ||
| } | ||
| }, { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615593600000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY", | ||
| "string_array": ["nginx-traceshop"] | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1989" | ||
| } | ||
| } | ||
| }, { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615597200000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "2525" | ||
| } | ||
| } | ||
| }, { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615597200000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY", | ||
| "string_array": ["nginx-traceshop"] | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1977" | ||
| } | ||
| } | ||
| }, { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615600800000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY", | ||
| "string_array": ["nginx-traceshop"] | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1965" | ||
| } | ||
| } | ||
| }, { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615600800000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "2323" | ||
| } | ||
| } | ||
| }] | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,45 @@ | ||
| { | ||
| "row": [{ | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Whats the query look like for this for gateway?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh! okey, it will be an internal query. Or would be IN query from GraphQL to gateway too. That is currently not expressible, right?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So, if a gateway client needs to explicitly ask for a
This will be opposite to the current case - where we don't want the
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We have all queries in the test
|
||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615593600000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "1616" | ||
| } | ||
| } | ||
| }, { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615597200000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "2525" | ||
| } | ||
| } | ||
| }, { | ||
| "columns": { | ||
| "INTERVAL_START_TIME": { | ||
| "valueType": "LONG", | ||
| "long": "1615600800000" | ||
| }, | ||
| "SERVICE.userRoles": { | ||
| "valueType": "STRING_ARRAY" | ||
| }, | ||
| "SUM_SERVICE.numCalls_[]": { | ||
| "valueType": "LONG", | ||
| "long": "2323" | ||
| } | ||
| } | ||
| }] | ||
| } | ||
Uh oh!
There was an error while loading. Please reload this page.