Обсуждение: Parsing tuple contents

Поиск
Список
Период
Сортировка

Parsing tuple contents

От
Vignesh Raghunathan
Дата:
Hello,

I am working on a project which requires going through each field inside a tuple without using postgresql. I have managed to iterate through each tuple inside a table by recycling postgres's code. However, for the part of parsing through each field in the tuple, I am not able to think of anything other than using a bunch of if/else or switch case statements to handle each postgresql datatype. I looked through postgresql's code base but I am unable to identify the part of code that might do this. Could anyone please let me know where to look?

Thanks,
Vignesh     

Re: Parsing tuple contents

От
Tom Lane
Дата:
Vignesh Raghunathan <vignesh.pgsql@gmail.com> writes:
> I am working on a project which requires going through each field inside a
> tuple without using postgresql. I have managed to iterate through each
> tuple inside a table by recycling postgres's code. However, for the part of
> parsing through each field in the tuple, I am not able to think of anything
> other than using a bunch of if/else or switch case statements to handle
> each postgresql datatype. I looked through postgresql's code base but I am
> unable to identify the part of code that might do this. Could anyone please
> let me know where to look?

Well, as far as identifying the field boundaries is concerned, there are
not that many cases: you basically only need to worry about typlen and
typalign.  heap_deform_tuple() would be a good model.

Of course, if you want to print the values in some human-readable form,
there is not going to be a good substitute for per-datatype code :-(
        regards, tom lane



Re: Parsing tuple contents

От
Vignesh Raghunathan
Дата:
Thank you very much for the response. 

On Wed, Aug 12, 2015 at 6:31 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Vignesh Raghunathan <vignesh.pgsql@gmail.com> writes:
> I am working on a project which requires going through each field inside a
> tuple without using postgresql. I have managed to iterate through each
> tuple inside a table by recycling postgres's code. However, for the part of
> parsing through each field in the tuple, I am not able to think of anything
> other than using a bunch of if/else or switch case statements to handle
> each postgresql datatype. I looked through postgresql's code base but I am
> unable to identify the part of code that might do this. Could anyone please
> let me know where to look?

Well, as far as identifying the field boundaries is concerned, there are
not that many cases: you basically only need to worry about typlen and
typalign.  heap_deform_tuple() would be a good model.

Of course, if you want to print the values in some human-readable form,
there is not going to be a good substitute for per-datatype code :-(

                        regards, tom lane