I've just seen the following error in the logfile:
Unknown column 'grant_create' in 'where clause' query: SELECT COUNT(*) FROM node_access WHERE (nid = 0 OR nid = 6540) AND CONCAT(realm, gid) IN ('all0') AND grant_create = 1 in /var/www/sites/www.******.com/htdocs/includes/database.mysql.inc on line 66.
I'm unsure what the user was actually doing to make this error appear.
Looking at things a bit closer, I've found that the grant_create column is indeed not present in the node_access.
Now, I've looked at the database/database.mysql file and the node_access table is created like this:
CREATE TABLE node_access (
nid int(10) unsigned NOT NULL default '0',
gid int(10) unsigned NOT NULL default '0',
realm varchar(255) NOT NULL default '',
grant_view tinyint(1) unsigned NOT NULL default '0',
grant_update tinyint(1) unsigned NOT NULL default '0',
grant_delete tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (nid,gid,realm)
) TYPE=MyISAM;
No grant_create column.
I've also looked at the latest version of database.mysql in CVS, and there's no mention of grant_create in there, so where does this column come from?
Should be easy enough to fix; just an
update table node_access add column grant_create tinyint(1) unsigned not null default '0'
looks like it should do the job, but I'm more curious about whether this will have any other undesired effects on things, and how my