> > I'd like to merge these down to 3 patches again, but I'm keeping them > separate for this patchset to isolate the attnum-checking code for this > go-round. >
These are mock-ups of the to/from JSON functions, but building from/to text rather than the not-yet-committed pg_ndistinct and pg_dependencies data types. Currently they're done with JSON rather than JSONB because I assume that the ordering within the datatype matters. We can probably preserve order by adding an "order" field populated by WITH ORDINALITY. To get all Jurrassic about this: I've spent some time thinking about whether we CAN make these functions, it's time to consider whether we SHOULD. And that leads me to a couple of points: p1. We could switch to the new formats without any change to the internal representation, but pg_dump would always need to know about the old formats. p2. The JSON format is both more understandable and easier to manipulate. p3. If we thought the number of people using extended stats was small, the number of people tweaking extended stats is going to be smaller. So that gives us a few paths forward: o1. Switch to the new input/output format, and the queries inside these functions get incorporated into some future pg_dump queries. o2. Keep the old formats, create these functions inside the system and whoever wants to use them can use them. o3. Keep old formats, and make these functions work as the CASTs to and from JSON/JSONB. o4. Keep old formats, could create these functions in an extension. o5. Keep old formats, leave these function definitions here for a future intrepid hacker.
pg_xlat_stat_functions.sql
Description: application/sql