mirror of
https://github.com/minio/minio.git
synced 2025-11-06 20:33:07 -05:00
S3Select: Handle array selection in from clause (#9076)
This commit is contained in:
committed by
GitHub
parent
5ab9cc029d
commit
cec8cdb35e
@@ -260,6 +260,68 @@ func TestJSONQueries(t *testing.T) {
|
||||
</SelectObjectContentRequest>`),
|
||||
wantResult: `"[""foo"",""bar"",""whatever""]"`,
|
||||
},
|
||||
{
|
||||
name: "document",
|
||||
query: "",
|
||||
requestXML: []byte(`
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<SelectObjectContentRequest>
|
||||
<Expression>select * from s3object[*].elements[*] s where s.element_type = '__elem__merfu'</Expression>
|
||||
<ExpressionType>SQL</ExpressionType>
|
||||
<InputSerialization>
|
||||
<CompressionType>NONE</CompressionType>
|
||||
<JSON>
|
||||
<Type>DOCUMENT</Type>
|
||||
</JSON>
|
||||
</InputSerialization>
|
||||
<OutputSerialization>
|
||||
<JSON>
|
||||
</JSON>
|
||||
</OutputSerialization>
|
||||
<RequestProgress>
|
||||
<Enabled>FALSE</Enabled>
|
||||
</RequestProgress>
|
||||
</SelectObjectContentRequest>`),
|
||||
withJSON: `
|
||||
{
|
||||
"name": "small_pdf1.pdf",
|
||||
"lume_id": "9507193e-572d-4f95-bcf1-e9226d96be65",
|
||||
"elements": [
|
||||
{
|
||||
"element_type": "__elem__image",
|
||||
"element_id": "859d09c4-7cf1-4a37-9674-3a7de8b56abc",
|
||||
"attributes": {
|
||||
"__attr__image_dpi": 300,
|
||||
"__attr__image_size": [
|
||||
2550,
|
||||
3299
|
||||
],
|
||||
"__attr__image_index": 1,
|
||||
"__attr__image_format": "JPEG",
|
||||
"__attr__file_extension": "jpg",
|
||||
"__attr__data": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"element_type": "__elem__merfu",
|
||||
"element_id": "d868aefe-ef9a-4be2-b9b2-c9fd89cc43eb",
|
||||
"attributes": {
|
||||
"__attr__image_dpi": 300,
|
||||
"__attr__image_size": [
|
||||
2550,
|
||||
3299
|
||||
],
|
||||
"__attr__image_index": 2,
|
||||
"__attr__image_format": "JPEG",
|
||||
"__attr__file_extension": "jpg",
|
||||
"__attr__data": null
|
||||
}
|
||||
}
|
||||
],
|
||||
"data": "asdascasdc1234e123erdasdas"
|
||||
}`,
|
||||
wantResult: `{"element_type":"__elem__merfu","element_id":"d868aefe-ef9a-4be2-b9b2-c9fd89cc43eb","attributes":{"__attr__image_dpi":300,"__attr__image_size":[2550,3299],"__attr__image_index":2,"__attr__image_format":"JPEG","__attr__file_extension":"jpg","__attr__data":null}}`,
|
||||
},
|
||||
}
|
||||
|
||||
defRequest := `<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
Reference in New Issue
Block a user