C trigger problem : conversion of CString to Datum

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

 



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

--
Sent via pgsql-admin mailing list (pgsql-admin@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux