Automatically parsing in-line composite types

From: Mitar <mmitar(at)gmail(dot)com>
To: "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Automatically parsing in-line composite types
Date: 2019-09-19 04:51:18
Message-ID: CAKLmikMrm778-eETLvVAd1W_u0R8TB+suAFO6jhMTmXQg3yhGg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi!

I am trying to understand how could I automatically parse an in-line
composite type. By in-line composite type I mean a type corresponding
to ROW. For example, in the following query:

SELECT _id, body, (SELECT array_agg(ROW(comments._id, comments.body))
FROM comments WHERE comments.post_id=posts._id) AS comments FROM posts

It looks like I can figure out that "comments" is an array of records.
But then there is no way really to understand how to parse those
records? So what are types of fields in the record?

I start the parsing process by looking at types returned in
RowDescription message and then reading descriptions in pg_type table.

Is there some other way to get full typing information of the result I
am assuming is available to PostreSQL internally?

Mitar

--
http://mitar.tnode.com/
https://twitter.com/mitar_m

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ron 2019-09-19 05:04:51 Re: PostgreSQL License
Previous Message Ken Tanzer 2019-09-19 04:43:25 Re: PostgreSQL License