function nodereference_install() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
// the {tablename} syntax is so multisite installs can add a prefix to
// the table name as set in the settings.php file
db_query("CREATE TABLE {my_table} (
vid int unsigned autoincrement,
field_name varchar(32) NOT NULL default '',
delta int unsigned NOT NULL default '0',
field_nid int unsigned NOT NULL default '0',
PRIMARY KEY (vid, field_name, delta),
KEY (field_name)
) /*!40100 DEFAULT CHARACTER SET utf8 */;");
break;
case 'pgsql':
db_query("CREATE TABLE {my_table} (
vid serial CHECK (vid >= 0),
field_name varchar(32) NOT NULL default '',
delta integer NOT NULL default '0' CHECK (delta >= 0),
field_nid integer NOT NULL default '0' CHECK (field_nid >= 0),
PRIMARY KEY (vid, field_name, delta)
)");
// pgsql requires keys and indexes to be defined separately. it is important
// to name the index as {tablename}_fieldname_idx (with the trailing idx) so
// update scripts can be written easily
db_query("CREATE INDEX {my_table}_field_name_idx ON {my_table} (field_name)");
break;
}
}