Skip site navigation (1) Skip section navigation (2)

helpers to convert C types to postgres types (Array)

From: Ivan Sergio Borgonovo <mail(at)webthatworks(dot)it>
To: pgsql-hackers(at)postgresql(dot)org
Subject: helpers to convert C types to postgres types (Array)
Date: 2010-01-29 12:34:22
Message-ID: 20100129133422.0ba9bb54@dawn.webthatworks.it (view raw or flat)
Thread:
Lists: pgsql-hackers
I'm still trying to collect all the bits to be able to read and
return several types of data in C functions.

I'm looking for quick ways to deal with ArrayType.

I'd expect some helper because these kind of operation should be
frequent and without any helper (function/macro) they really make
the code awful.

Generally you work with C types that later you've to "convert" to
Postgres types.

So for example you may have an array of int2 that then you've to
place into an ArrayType.

I think there are 3 kinds of operation you may have to do:

1 You may have an already "formed" C array type and you'd just copy
  it into an ArrayType
2 You may know the # of elements of the C array type but you're
  filling it an element at a time
3 You don't know the number of elements in the array in advance so
  you'd like to append to the ArrayType one element at a time

1 seems to require
- creating an array of Datum
- looping over the C array
- assign to each Datum element the "converted" C value
- construct_array the Postgres array
That's a pain. Any other way? macro?

2 Seems the easiest

3 ???
Is there any function in postgres that let you append elements to
an ArrayType?

thanks

-- 
Ivan Sergio Borgonovo
http://www.webthatworks.it


Responses

pgsql-hackers by date

Next:From: Simon RiggsDate: 2010-01-29 12:56:57
Subject: Re: Hot Standby: Relation-specific deferred conflict resolution
Previous:From: Robert HaasDate: 2010-01-29 12:01:47
Subject: Re: Hot Standby: Relation-specific deferred conflict resolution

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group