Skip to content

Conversation

@g31pranjal
Copy link
Member

No description provided.

@g31pranjal g31pranjal added the enhancement New feature or request label Feb 25, 2025
@g31pranjal g31pranjal requested a review from normen662 March 26, 2025 08:50
Copy link
Contributor

@normen662 normen662 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I resolved all comments except one or two. It's possible that those can be resolved as well without further code change (it's more that they are questions).

@g31pranjal g31pranjal requested a review from normen662 March 27, 2025 17:56
final var elementField = messageDescriptor.findFieldByName(NullableArrayTypeUtils.getRepeatedFieldName());
final var elementTypeCode = TypeCode.fromProtobufType(elementField.getType());
return fromProtoTypeToArray(descriptor, protoType, elementTypeCode, true);
} else if (TupleFieldsProto.UUID.getDescriptor().equals(messageDescriptor)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is a bit complex to understand why the handling of the UUID is done here and not in an outer if. But after some discussion I understand it better now. Thanks @g31pranjal for the explanation.

Copy link
Contributor

@hatyo hatyo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, great work!

@g31pranjal g31pranjal merged commit 20960da into FoundationDB:main Mar 28, 2025
5 checks passed
g31pranjal added a commit that referenced this pull request Apr 11, 2025
This PR reverts the SQL layer support for UUID that was introduced in
#3198. However, the Record Layer support for UUID stays as it is. This
makes this compatible with releases < `4.2.3.0` which was required to
maintain plan continuation compatibility for plans serialized with
non-UUID Type.

Also adds a yaml-test for explicitly defining the RecordMetadata using
proto, and using the `TupleField.UUID` message in it. Owing to
difference in behavior in how this and versions (4.2.3.0 and 4.2.4.0)
interprets `TupleField.UUID`, this PR also blocklists these versions
from yaml-testing.

fixes: #3285
g31pranjal added a commit that referenced this pull request Aug 12, 2025
This PR brings back the complete support for UUID as a primitive data
type. The support was first brought in with
PR:#3198, but was
later partially rolled back in
#3293.

It also brings in UUID-relevant parts from patch:
#3395, that was
based on top 4.2.4.0, onto the main.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants