This is an automated email from the ASF dual-hosted git repository.
sureshanaparti pushed a commit to branch 4.22
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.22 by this push:
new 4ba4bd33c3c replace GROUP_CONCAT with JSON_ARRAYAGG to avoid errors
like Row 19 was cut by GROUP_CONCAT (#12777)
4ba4bd33c3c is described below
commit 4ba4bd33c3cf7377b1b860313cc6ae6e529c96c3
Author: Abhisar Sinha <[email protected]>
AuthorDate: Fri Apr 10 09:39:03 2026 +0530
replace GROUP_CONCAT with JSON_ARRAYAGG to avoid errors like Row 19 was cut
by GROUP_CONCAT (#12777)
---
.../resources/META-INF/db/schema-42010to42100.sql | 62 +++++++++++-----------
1 file changed, 32 insertions(+), 30 deletions(-)
diff --git
a/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql
b/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql
index 4c65f37e0fe..000b54b7207 100644
--- a/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql
+++ b/engine/schema/src/main/resources/META-INF/db/schema-42010to42100.sql
@@ -687,22 +687,23 @@ CREATE TABLE IF NOT EXISTS `cloud`.`backup_details` (
UPDATE `cloud`.`backups` b
INNER JOIN `cloud`.`vm_instance` vm ON b.vm_id = vm.id
SET b.backed_volumes = (
- SELECT CONCAT("[",
- GROUP_CONCAT(
- CONCAT(
- "{\"uuid\":\"", v.uuid, "\",",
- "\"type\":\"", v.volume_type, "\",",
- "\"size\":", v.`size`, ",",
- "\"path\":\"", IFNULL(v.path, 'null'), "\",",
- "\"deviceId\":", IFNULL(v.device_id, 'null'), ",",
- "\"diskOfferingId\":\"", doff.uuid, "\",",
- "\"minIops\":", IFNULL(v.min_iops, 'null'), ",",
- "\"maxIops\":", IFNULL(v.max_iops, 'null'),
- "}"
- )
- SEPARATOR ","
+ SELECT COALESCE(
+ CAST(
+ JSON_ARRAYAGG(
+ JSON_OBJECT(
+ 'uuid', v.uuid,
+ 'type', v.volume_type,
+ 'size', v.size,
+ 'path', v.path,
+ 'deviceId', v.device_id,
+ 'diskOfferingId', doff.uuid,
+ 'minIops', v.min_iops,
+ 'maxIops', v.max_iops
+ )
+ ) AS CHAR
),
- "]")
+ '[]'
+ )
FROM `cloud`.`volumes` v
LEFT JOIN `cloud`.`disk_offering` doff ON v.disk_offering_id = doff.id
WHERE v.instance_id = vm.id
@@ -711,22 +712,23 @@ SET b.backed_volumes = (
-- Add diskOfferingId, deviceId, minIops and maxIops to backup_volumes in
vm_instance table
UPDATE `cloud`.`vm_instance` vm
SET vm.backup_volumes = (
- SELECT CONCAT("[",
- GROUP_CONCAT(
- CONCAT(
- "{\"uuid\":\"", v.uuid, "\",",
- "\"type\":\"", v.volume_type, "\",",
- "\"size\":", v.`size`, ",",
- "\"path\":\"", IFNULL(v.path, 'null'), "\",",
- "\"deviceId\":", IFNULL(v.device_id, 'null'), ",",
- "\"diskOfferingId\":\"", doff.uuid, "\",",
- "\"minIops\":", IFNULL(v.min_iops, 'null'), ",",
- "\"maxIops\":", IFNULL(v.max_iops, 'null'),
- "}"
- )
- SEPARATOR ","
+ SELECT COALESCE(
+ CAST(
+ JSON_ARRAYAGG(
+ JSON_OBJECT(
+ 'uuid', v.uuid,
+ 'type', v.volume_type,
+ 'size', v.size,
+ 'path', v.path,
+ 'deviceId', v.device_id,
+ 'diskOfferingId', doff.uuid,
+ 'minIops', v.min_iops,
+ 'maxIops', v.max_iops
+ )
+ ) AS CHAR
),
- "]")
+ '[]'
+ )
FROM `cloud`.`volumes` v
LEFT JOIN `cloud`.`disk_offering` doff ON v.disk_offering_id = doff.id
WHERE v.instance_id = vm.id