Is Drupal's db layer so weak that users must change their database schema in order to use it?
Is that acceptable? Sounds like a bug to me. -Dave On Tue, 28 Dec 2010 21:28 +0100, "Paolo Mainardi" <paolomaina...@gmail.com> wrote: > My advice is to use it that value like a varchar(N), in order to avoid > any > kind of problems, obviously if you don't need to have some kind of > calculation behind it, but i don't think as this bigint field is a > facebook_id. > > On Tue, Dec 28, 2010 at 8:28 PM, Andre Angelantoni <aan...@mac.com> > wrote: > > > When I use db_insert in D7 (RC3), drupal_write_record (the engine behind > > db_insert) allows ints, serials, and floats for numbers. > > > > If it sees int in the schema definition, it casts the number in PHP as an > > int before writing the record. Thus my facebook id of 100000412533411 > > becomes much much smaller. I have D6 code that I'm bringing to D7, btw. > > > > In common.inc: > > > > // Type cast to proper datatype, except when the value is NULL and the > > // column allows this. > > // > > // MySQL PDO silently casts e.g. FALSE and '' to 0 when inserting the > > value > > // into an integer column, but PostgreSQL PDO does not. Also type cast > > NULL > > // when the column does not allow this. > > if (isset($object->$field) || !empty($info['not null'])) { > > if ($info['type'] == 'int' || $info['type'] == 'serial') { > > $fields[$field] = (int) $fields[$field]; // ****HERE*** > > } > > elseif ($info['type'] == 'float') { > > $fields[$field] = (float) $fields[$field]; > > } > > else { > > $fields[$field] = (string) $fields[$field]; > > } > > } > > > > There doesn't appear to be a way to insert bigints using db_insert > > > > ...or am I completely missing something? > > > > -Andre' > > > > > > > -- > Paolo Mainardi > > CTO Twinbit > Blog: http://www.paolomainardi.com > > -- Please consider the environment before printing this email -- >