Thread
-
array questions still stands
Brett McCormickS <brett@abraxas.scene.com> — 1998-01-25T19:10:21Z
silly me, it turned out the function had two arguments, and the second argument just happened to coincide with the type of the array. When writing a c function to be dynamically loaded and called from postgres, how do you find out the base element type of an array that you're accepting as an arugment (getting called with). array_in/out seem to get passed this value, wheras my function just gets the pointer without knowing what the underlying data is. do I have to look this up once inside the function? or, if I know what I'm getting, can I fudge it? (i.e. treat them as what I expect them to be (int4s) without regard for what they actually are). that doesn't sound so good to me. I'd appreciate any help! --brett
-
Re: [HACKERS] array questions still stands
Brett McCormickS <brett@abraxas.scene.com> — 1998-01-25T23:33:03Z
Okay, I suppose more obviously i've just got an array of integers (by value) @ ARR_DATA_PTR(array), so I don't have much to worry about. On Sun, 25 January 1998, at 11:10:21, Brett McCormick wrote: > silly me, it turned out the function had two arguments, and the second > argument just happened to coincide with the type of the array. > > When writing a c function to be dynamically loaded and called from > postgres, how do you find out the base element type of an array that > you're accepting as an arugment (getting called with). array_in/out > seem to get passed this value, wheras my function just gets the > pointer without knowing what the underlying data is. do I have to > look this up once inside the function? or, if I know what I'm > getting, can I fudge it? (i.e. treat them as what I expect them to be > (int4s) without regard for what they actually are). that doesn't > sound so good to me. > > I'd appreciate any help! > > --brett