Re: C Programming with postgres.h - my function crashes

Поиск
Список
Период
Сортировка
От Jan Wieck
Тема Re: C Programming with postgres.h - my function crashes
Дата
Msg-id 3FCCDFCE.8020107@Yahoo.com
обсуждение исходный текст
Ответ на Re: C Programming with postgres.h - my function crashes the database backend  (Alvaro Herrera <alvherre@dcc.uchile.cl>)
Ответы Re: C Programming with postgres.h - my function crashes
Список pgsql-general
Alvaro Herrera wrote:

> On Tue, Dec 02, 2003 at 05:56:45PM +0000, Alex Page wrote:
>
>>   Datum enum_gender_in(PG_FUNCTION_ARGS) {
>>       text    *invalue = PG_GETARG_TEXT_P(0);
>>
>>       if ( strcmp ( VARDATA(invalue), "Male" ) ) {        /* VARDATA gets the data portion of a "varlena" struct,
whichis typedef'd to "text" */ 
>>           PG_RETURN_INT32( 0 );
>>       }
>>       PG_RETURN_INT32( 1 );
>>   }
>
> VARDATA is not 0-terminated, so you can't use strcmp on it.  Maybe you
> should use memcmp instead.
>

First of all, the argument to a type input procedure is a nul terminated
CString, not text.

Alex, why don't you look at an existing datatype in backend/utils/adt?


Jan

--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #


В списке pgsql-general по дате отправления:

Предыдущее
От: Lamar Owen
Дата:
Сообщение: Re: perl(Pg) (S)RPM
Следующее
От: "Keith C. Perry"
Дата:
Сообщение: Re: pg_dump on one user not whole database