Search Postgresql Archives

Re: more custom C function fun

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Martijn van Oosterhout wrote:
You do realise that VARDATA does not return a null terminated string?

I did not realize that...  but it led me in the right direction.

Try using something like text_to_cstring or using elog(NOTICE) to
display what's actually being compared.

I've outputted some things with elog (which is the other thing I needed to figure this out).

Using DatumToCString(mytextvariable), I get single-character-length strings that do not match the data actually in the fields.

Using VARDATA(mytextvariable) as the char*, I get things like this (name obscured) (using strlen to get the string's length):

string: "Hillary Clinton(6611)", length 21
string: "95555551234nton(6611)", length 21

Of course, then I realized that strlen isn't the right tool for the job; I need: int len = VARSIZE(mytextvariable) - VARHDRSZ;

Using that with the VARDATA as my char*, I get this:

string: "Hillary Clinton(6611)" - length: 21
string: "95555551234" - length: 11

Which is what I need. Perhaps we could get some documentation about how to use this stuff? I was unable to find any on the Postgres site, if there is any.

Thanks for your help guys :)

- Dan


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux