Hi All, I have a problem that I do not quite understand.
I have a table with individuals: CREATE TABLE `individual` ( `ident` mediumint(8) unsigned NOT NULL auto_increment, `fid` mediumint(8) unsigned NOT NULL, `iid` mediumint(8) unsigned NOT NULL, PRIMARY KEY (`ident`), KEY `fidiid` (`fid`,`iid`), ) ENGINE=MyISAM DEFAULT CHARSET=utf8 | The column ident is used in other tables to reference the entries in individual. Then I have a function: CREATE FUNCTION get_ident(afid INT,aiid INT) RETURNS INT DETERMINISTIC BEGIN DECLARE ret INT; SELECT ident INTO ret FROM individual WHERE fid=afid AND iid=aiid; RETURN(ret); END// When calling this function with select get_ident(1001,1) It works fine When using this function in a query the system either runs out of memory or the client loses the connection to the server (randomly with either of the 2 versions below): select * from TABLE where ident=get_ident(1001,1); select * from TABLE where ident=(select get_ident(1001,1)); If I use a sub select its all fine: select * from TABLE where ident=(select ident from individual where fid=1001 and iid=1) The table individual used to be InnoDB, changed it to MyIsam because I though that might be the problem (the error log indicated this), but it is the same. Am I missing something or is this a bug or ...? Thanks in advance Olaf -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]