Hand on whatever the wrapper already states as a value - #32
Merged
estebanzimanyi merged 1 commit intoSep 3, 2026
Merged
Conversation
The object layer kept its own account of which C types are values — one enum named in a branch, and a set of C spellings beside it — while the flat surface had already resolved every one of them from the catalog. So a method taking the `nullHandleType` the catalog names, or answering an `S2CellId`, a `float8` or an `Oid`, was deferred to that surface for a type sitting two lines away in it. The wrapper's own C# type is the answer: a scalar it resolved through the catalog's typedefs, a struct it carries by value, or an enum the catalog names, in which case the method takes and answers that enum rather than its number. 18 methods reach the object layer that way — `TJsonb.ArrayElement` and its ten jsonb siblings taking a `NullHandleType`, `Raquet.Make` a `MeosPixType`, `Geo.ToS2cellCell` answering a `ulong`, `TPoint.AsMvtgeom` an `MvtGeom` and `TGeo.SpaceSplit` a `SpaceSplit` — 1264 methods against 1246, 31 deferred against 49. Three tests read the three kinds back: a temporal jsonb given the enum the catalog names, a geometry answering its S2 cell as the number MEOS states, and a temporal point answering the struct it fills.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The object layer kept its own account of which C types are values — one enum
named in a branch, and a set of C spellings beside it — while the flat surface
had already resolved every one of them from the catalog. So a method taking the
nullHandleTypethe catalog names, or answering anS2CellId, afloat8or anOid, was deferred to that surface for a type sitting two lines away in it.The wrapper's own C# type is the answer: a scalar it resolved through the
catalog's typedefs, a struct it carries by value, or an enum the catalog names,
in which case the method takes and answers that enum rather than its number. 18
methods reach the object layer that way —
TJsonb.ArrayElementand its tenjsonb siblings taking a
NullHandleType,Raquet.MakeaMeosPixType,Geo.ToS2cellCellanswering aulong,TPoint.AsMvtgeomanMvtGeomandTGeo.SpaceSplitaSpaceSplit— 1264 methods against 1246, 31 deferredagainst 49.
Three tests read the three kinds back: a temporal jsonb given the enum the
catalog names, a geometry answering its S2 cell as the number MEOS states, and
a temporal point answering the struct it fills.