2006/10/13, Timo Sirainen <tss@iki.fi>:
On Fri, 2006-10-13 at 22:42 +0200, Chaos Engine wrote:
> On my Gentoo box until today I
> had dovecot-1.0_rc7 and used following entry in /etc/dovecot/dovecot-sql.conf
>
> password_query = call Authorize('%u', '%n', '%d')
>
> Simply put dovecot is calling my mysql stored routine which handles
> authorization. Until today, when I updated dovecot to dovecot-1.0_rc8
> it worked flawlessly. With this version executing stored proc dies
> with:
>
> Password query failed: PROCEDURE mailsql.Authorize can't return a
> result set in the given context
>
> Replacing stored proc call with select .... statement does the thing,
> but it's stored procedures are ... generally better to do things on DB
> imvho :-)
> Downgrading to dovetot-1.0_rc7 fixes the problem immediately. Of
> course /etc/dovecot/dovecot.conf remains the same in either case.
> Is this a bug or change made on purpose?
Are you sure the difference is between the changes in Dovecot and not in
some gentoo compile/link flags? Such as a different mysql library.
I'm pretty sure. I haven't changed my previous compile flags (Gentoo USE flags). To tell the truth I haven't found any word of using stored procedures in mysql authorization; but it worked. I haven't touched MySQL or its libs, only upgraded dovecot.
I don't think I've changed anything related to that between rc7 and rc8.
--
Chaos greets U