Hi all,
Firstly, thanks for the suggestions. I'm now running Sequoia 2.10.5,
Carob 0.7.2, and libmysequoia 0.9.7. The system is now mostly working
from Ruby via libmysequoia.
I think I may have uncovered a bug/quirk/feature. If I perform an
invalid query from a nonexistent table now, I get the approriate 'ERROR:
relation "bar" does not exist' message *UNLESS* I have previously
fetched result rows from a valid query within the same session.
If the results of a successful query have been accessed, subsequent
invalid queries produce "Mysql::Error: Virtual database testDB not found
on any of the controllers" and close the connection. Also, the
connection cannot then be reopened without exiting and restarting the
process.
In the following example, the table "foo" does exist on the controller,
and the table "bar" does not.
irb(main):002:0> require 'mysql.so'
=> true
irb(main):003:0> x = Mysql.connect "localhost", "sequoia", "sequoia",
"testDB", 25322
=> #<Mysql:0xb7734364>
irb(main):004:0> x.query("select * from bar") # produces correct error
Mysql::Error: ERROR: relation "bar" does not exist
from (irb):4:in `query'
from (irb):4
from :0
irb(main):005:0> x.query("select * from bar") # produces correct error
Mysql::Error: ERROR: relation "bar" does not exist
from (irb):5:in `query'
from (irb):5
from :0
irb(main):006:0> z = x.query("select * from foo") # produces correct
result
=> #<Mysql::Result:0xb771cc78>
irb(main):007:0> x.query("select * from bar") # still produces correct
error
Mysql::Error: ERROR: relation "bar" does not exist
from (irb):7:in `query'
from (irb):7
from :0
irb(main):008:0> z = x.query("select * from foo")
=> #<Mysql::Result:0xb77132f4>
irb(main):009:0> z.fetch_row # fetching a row from the result works, but
breaks something else
=> ["123", "asdf"]
irb(main):010:0> x.query("select * from bar") # wrong error message?
Mysql::Error: Virtual database testDB not found on any of the controllers
from (irb):10:in `query'
from (irb):10
from :0
irb(main):011:0> z = x.query("select * from foo") # valid queries no
longer work
Mysql::Error: Request cannot be processed : connection is closed!
from (irb):11:in `query'
from (irb):11
from :0
irb(main):012:0> x = Mysql.connect "localhost", "sequoia", "sequoia",
"testDB", 25322 # can't reopen the connection, either
Mysql::Error: Virtual database testDB not found on any of the controllers
from (irb):12:in `connect'
from (irb):12
from :0
irb(main):013:0>
If I exit back to a shell and restart irb, everything works fine once
again (mysql.so connects to sequoia with no problems, etc.) until a row
is fetched and an invalid query is executed.
Is the connection supposed to be used for only one query? Even if so,
why can't I reconnect and then execute another query within the same
process?
Thanks in advance for any insight.
Best,
Paul
--
--------------------------------------------------
-- Paul Legato, Senior Software Engineer --
--- Networked Knowledge Systems ---
---- P.O. Box 20772 Tampa, FL. 33622-0772 ----
----- (415)846-0702 Voice (813)594-0045 FAX -----
------ [EMAIL PROTECTED] ------
--------------------------------------------------
--------------------------------------------------
----- This email bound by the following: -----
---- http://www.nks.net/email_disclaimer.html ----
--------------------------------------------------
_______________________________________________
Carob mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob