The GitHub Actions job "CI" on grails-core.git/fix/16688-h7-composite-user-type has succeeded. Run started by GitHub user jdaugherty (triggered by jdaugherty).
Head commit for run: fd71dcabc7bc6c77f31ed7697d217bb11f73e72b / James Daugherty <[email protected]> Define each composite user type column from its attribute, resolve the user type once and bind an enum mapped with one as a component A column of a composite user type property is one of several, so ColumnBinder.bindColumnWithoutUniqueness now takes the type of its attribute and defines the column from its own configuration: a numeric attribute gets the scale and precision of its column entry, or the default precision of the dialect, and the constraints of the property, which describe the whole value, are no longer read through PropertyConfig's single-column accessors (a CompositeUserType<BigDecimal> with two columns threw "Cannot treat multi-column property as a single-column property" unless every column set a scale). NumericColumnConstraintsBinder accepts a null property config for that case. The user type is now instantiated in one place, CompositeUserTypeColumns.userTypeOf, which is CDI-aware when it has the MetadataBuildingContext, and the context is passed to it from GrailsDomainBinder, SimpleValueBinder and CompositeUserTypeBinder through new ColumnNameForPropertyAndPathFetcher and ColumnBinder constructors. A uniqueness group that names a composite property built by a bean container no longer requires a default constructor. GrailsPropertyBinder checks for a composite user type before the enum branch, so an enum property whose type names one is bound as a component rather than handed to EnumTypeBinder, which built a BasicValue with the composite type name. Regressions in CompositeUserTypeMappingSpec: a BigDecimal split into scale and unscaled value with configured and default columns, an enum persisted as its code and rank, a user type without a default constructor resolved through a hibernate.resource.beans.container for its property and for the group that names it, and the startup error without a container. Unit coverage in ColumnBinderSpec, NumericColumnConstraintsBinderSpec, CompositeUserTypeColumnsSpec, ColumnNameForPropertyAndPathFetcherSpec and GrailsPropertyBinderSpec. The guide states the per-column constraints, the enum case and the bean container. Report URL: https://github.com/apache/grails-core/actions/runs/39974793726 With regards, GitHub Actions via GitBox
