Details
-
Bug
-
Resolution: Fixed
-
Major
-
7.1.0
-
Untriaged
-
1
-
Unknown
Description
The output of completed requests contains null plans in system completed_requests (the same would apply to named and positional parameters to name a few), because the data collection concatenates strings with objects or arrays:
1301 make('SELECT requests.*, ' |
1302 '"<ud>"||requests.statement||"</ud>" AS statement, ' |
1303 '"<ud>"||requests.preparedText||"</ud>" AS preparedText, ' |
1304 '*"<ud>"||meta().plan||"</ud>"* AS plan, ' |
1305 '"<ud>"||requests.namedArgs||"</ud>" AS namedArgs, ' |
1306 '"<ud>"||requests.positionalArgs||"</ud>" AS positionalArgs, ' |
1307 '"<ud>"||requests.users||"</ud>" AS users ' |
1308 'FROM system:completed_requests AS requests;', |
1309 logfile="completed_requests.json", no_header=True), |
1310 make('SELECT prepareds.*, ' |
1311 '"<ud>"||prepareds.statement||"</ud>" AS statement ' |
1312 'FROM system:prepareds AS prepareds;', |
1313 logfile="prepareds.json", no_header=True), |
This is not correct - in order to concanetate strings correctly, the object needs to be first marshalled into a string, for example
1301 make('SELECT requests.*, ' |
1302 '"<ud>"||requests.statement||"</ud>" AS statement, ' |
1303 '"<ud>"||requests.preparedText||"</ud>" AS preparedText, ' |
1304 *'"<ud>"||encode_json(meta().plan)||"</ud>"* AS plan, ' |
1305 '"<ud>"||requests.namedArgs||"</ud>" AS namedArgs, ' |
1306 '"<ud>"||requests.positionalArgs||"</ud>" AS positionalArgs, ' |
1307 '"<ud>"||requests.users||"</ud>" AS users ' |
1308 'FROM system:completed_requests AS requests;', |
1309 logfile="completed_requests.json", no_header=True), |
1310 make('SELECT prepareds.*, ' |
1311 '"<ud>"||prepareds.statement||"</ud>" AS statement ' |
1312 'FROM system:prepareds AS prepareds;', |
1313 logfile="prepareds.json", no_header=True), |
Same thing applies to all other object and array fields collected.