summaryrefslogtreecommitdiff
path: root/src/cube.c
diff options
context:
space:
mode:
authorchenzizhan <[email protected]>2024-10-24 17:09:27 +0800
committerchenzizhan <[email protected]>2024-10-24 17:09:27 +0800
commit8110a85be1cde0f3a2d9ce9080e743791047efd6 (patch)
treef06345ca3640b4336f9e631c980c47f902a34ef9 /src/cube.c
parentff2357bb1d2af70dda26029ae02f62ef42d96ac2 (diff)
Revert "Revert "uuid type field(dimension)""HEADv4.7.0develop-version4
This reverts commit 328afefa85448339bfecc3ad5b429957eb12566c.
Diffstat (limited to 'src/cube.c')
-rw-r--r--src/cube.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/cube.c b/src/cube.c
index f8a41d5..75d8b76 100644
--- a/src/cube.c
+++ b/src/cube.c
@@ -78,6 +78,9 @@ static struct field *field_array_duplicate(const struct field *fields_src, size_
case FIELD_VALUE_DOUBLE:
ret[i].value_double = fields_src[i].value_double;
break;
+ case FIELD_VALUE_UUID:
+ memcpy(ret[i].value_uuid, fields_src[i].value_uuid, sizeof(uuid_t));
+ break;
default:
break;
}
@@ -142,6 +145,11 @@ void print_field_array(const struct field *fields, size_t n_field)
case FIELD_VALUE_CSTRING:
printf("%s\n", fields[i].value_str);
break;
+ case FIELD_VALUE_UUID: {
+ char out[37];
+ uuid_unparse(fields[i].value_uuid, out);
+ printf("%s\n", out);
+ break;}
default:
break;
}
@@ -188,6 +196,10 @@ static void field_array_to_key(const struct field fields[], size_t n_fields, cha
val_len = strlen(field->value_str);
val_position = (void *)field->value_str;
break;
+ case FIELD_VALUE_UUID:
+ val_len = sizeof(uuid_t);
+ val_position = (void *)field->value_uuid;
+ break;
default:
assert(0);
break;