I can't tell if this is a bug, or if I'm missing a work-around somewhere..

I am using Sequel to interact with a Hive2 database.  I have a jdbc driver 
and have created an adapter that I've gotten to work with all the methods 
I've tried so far. (The existing hive gem on rubygems is too old, and 
unfortunately my company does not allow us to make pull requests to 
contribute back to the community :( )  I am now trying to create a Model 
for the table so that I can use FactoryBot to insert data.  

Sequel::Model.use_transactions = false

class Table_1 < Sequel::Model($hive_db[:table_1])
 set_primary_key [:id]
end

FactoryBot.define do
 factory :table_1, class: Table_1 do
   sequence(:id) {|id| id}
   name 'John Smith'
 end
end



When I try to require the model, I get:


E, [2018-04-09T17:12:05.149000 #119768] ERROR -- : 
Java::OrgApacheHiveServiceCli::HiveSQLException: Error while compiling 
statement: FAILED: ParseException line 1:0 cannot recognize input near 'BEGIN' 
'<EOF>' '<EOF>': BEGIN 
E, [2018-04-09T17:12:05.164000 #119768] ERROR -- : 
Java::OrgApacheHiveServiceCli::HiveSQLException: Error while compiling 
statement: FAILED: ParseException line 1:0 cannot recognize input near 
'ROLLBACK' '<EOF>' '<EOF>': ROLLBACK

>From digging into the Sequel Code, it seems that the function get_db_schema 
>uses a couple of different methods to define the schema for the model, but all 
>of these methods use check_non_connection_error. check_non_connection_error 
>uses db.transaction(:savepoint=>:only){yield} even though I set 
>use_transactions to false.  I tried to dig further into the transaction 
>methods, but could see no where else where it honors my request to use 
>transactions..

I believe that instead, check_non_connection_error should be using the 
checked_transaction function? or is there another option I'm missing?

-- 
You received this message because you are subscribed to the Google Groups 
"sequel-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sequel-talk.
For more options, visit https://groups.google.com/d/optout.

Reply via email to