From: Warren Young Date: July 11 2005 2:36pm Subject: Re: Stored Procedures & Multiple Result Sets List-Archive: http://lists.mysql.com/plusplus/4631 Message-Id: <42D283D6.9080109@etr-usa.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Jalon, Arnon wrote: > Thanks. I appreciate your additions/modifications. I hope that the > benefits outweigh the added effort you had to put into it. It was no problem at all. Having a place to "hang" my changes made it a lot easier than doing it all myself. > I now see that you modified the store method to not throw an exception in > the case of a null result set with no error. Right...that's what I meant by the library being confused internally. It thought that a null result set was always an error, which it isn't. > I was slightly nervous > about modifying more library code than I had to, Don't worry about it. I mentioned these things mainly to let you know what changes I made to your patch. > the call to the stored > procedure was returning an error, that I can only seem to correct by > setting the CLIENT_MULTI_STATEMENTS when it connects. Hmmm...I confess that I didn't test that. I never run beta versions of MySQL here, so I'm still on v4.1. Let's investigate that, and see if a cleaner option than extending connect_to_db() turns up. Surely there's a way to avoid that... > I was doing an svn diff on the repository as specified in the HACKERS > file, and wasn't quite sure how to get the diff for it without adding > the file to the repository. You don't actually have to add it to the repository; you can say "svn add myfile", then do the diff, and then "svn revert myfile". But you might not be able to do that as an anonymous user. Again, don't worry about this. Just pointing it out in case you make a future change that adds files. > In assigning the other.fields_ to this->fields_, we > are copying the pointer, which still points to the "other" ResUse object > which is about to be invalidated. Ah, I see. Thanks for fixing this bug. > It complained > about an invalid conversion from `int' to `enum_mysql_set_option' in the > set_option function in connection.h. Ooops...I thought I fixed that already.... Thanks for the patch. FYI, I chose to make the two set_option() functions take integers instead of MySQL-specific enums, so that we have the ability to move MySQL++ to another database server later if we want to. It's not something for the immediate future, but there's no sense tying MySQL++ too closely to the C API.