C trigger problem : conversion of CString to Datum

Поиск
Список
Период
Сортировка
От Guy Deleeuw
Тема C trigger problem : conversion of CString to Datum
Дата
Msg-id 4B7FFA2C.3030001@eurofer.be
обсуждение исходный текст
Ответы Re: C trigger problem : conversion of CString to Datum
Список pgsql-admin
Hello,

I cannot convert properly a cstring to a Datum :
Here my code :
   int                   attColNumber;
   Datum                 new_barcode;
   bool                  isnull        = 0;
   char                  barcode[14];

    elog(INFO, "gd_trigfunc_before_article_insert() : bar_code = %s",
barcode);
    attColNumber = COL_BARCODE;
    new_barcode = CStringGetDatum(barcode);
     workTuple = SPI_modifytuple(trigdata->tg_relation,
trigdata->tg_trigtuple, 1, &attColNumber, &new_barcode, &isnull);

the result :

# INSERT INTO t_articles VALUES (4001, 1, '065', 'White', NULL, 'XS', null);
INFO:  gd_trigfunc_before_article_insert() : bar_code = 5492850000012
INSERT 0 1
# select * from t_articles WHERE k_id > 2000;
  k_id | product_id | color_id | color_desc | height | size |   bar_code
------+------------+----------+------------+--------+------+--------------
  4001 |          1 | 065      | White      |        | XS   | 492850000012
(1 ligne)

Missing the firs digit of the barcode.

Thanks in advance for your help
Regards
Guy

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

Предыдущее
От: Kevin Kempter
Дата:
Сообщение: Re: Using Postgresql Replication
Следующее
От: Tom Lane
Дата:
Сообщение: Re: C trigger problem : conversion of CString to Datum