Hi, Alexey!

On Mar 27, Alexey Botchkov wrote:
> Hi, Sergei.
> 
> > Why does embedded fail while a normal client-server protocol is ok with
> > that?
> 
> The difference is that the client checks the server status twice during 
> execution
> - after the metadata reading and after the actual data.
> That SERVER_STATUS_CURSOR_EXISTS is returned on the 'reading data' stage
> and the usual client just skips it. But for the embedded server
> that status is same in both cases. And the 'reading metadata' part 
> crashes when it sees that server status.
> It's in the prepare_to_fetch_result() called from mysql_stmt_execute().

Yes, I see that prepare_to_fetch_result() checks for
SERVER_STATUS_CURSOR_EXISTS. Why is it not returned for 'reading
metadata'? Where does the client skip it?

> I see no reason to store both statuses for the embedded server just to 
> imitate
> the usual client's behaviour. It's better not to return the misleading 
> status in this case.

I agree about not returning the misleading status, but I'd still like to
understand why the regular client works.

Regards,
Sergei

_______________________________________________
Mailing list: https://launchpad.net/~maria-developers
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to