Class: DBGeni::Connector::Sybase
- Inherits:
-
Object
- Object
- DBGeni::Connector::Sybase
- Defined in:
- lib/dbgeni/connectors/sybase.rb
Instance Attribute Summary collapse
-
#connection ⇒ Object
readonly
Returns the value of attribute connection.
-
#database ⇒ Object
readonly
Returns the value of attribute database.
Class Method Summary collapse
Instance Method Summary collapse
- #commit ⇒ Object
- #date_as_string(dtm) ⇒ Object
- #date_placeholder(bind_var) ⇒ Object
- #disconnect ⇒ Object
- #execute(sql, *binds) ⇒ Object
- #ping ⇒ Object
- #rollback ⇒ Object
Instance Attribute Details
permalink #connection ⇒ Object (readonly)
Returns the value of attribute connection.
15 16 17 |
# File 'lib/dbgeni/connectors/sybase.rb', line 15 def connection @connection end |
permalink #database ⇒ Object (readonly)
Returns the value of attribute database.
16 17 18 |
# File 'lib/dbgeni/connectors/sybase.rb', line 16 def database @database end |
Class Method Details
permalink .connect(user, password, database, host = nil, port = nil) ⇒ Object
[View source]
18 19 20 |
# File 'lib/dbgeni/connectors/sybase.rb', line 18 def self.connect(user, password, database, host=nil, port=nil) self.new(user, password, database, host, port) end |
Instance Method Details
permalink #commit ⇒ Object
[View source]
62 63 64 |
# File 'lib/dbgeni/connectors/sybase.rb', line 62 def commit @connection.commit end |
permalink #date_as_string(dtm) ⇒ Object
[View source]
74 75 76 |
# File 'lib/dbgeni/connectors/sybase.rb', line 74 def date_as_string(dtm) dtm.strftime '%Y-%m-%d %H:%M:%S' end |
permalink #date_placeholder(bind_var) ⇒ Object
[View source]
70 71 72 |
# File 'lib/dbgeni/connectors/sybase.rb', line 70 def date_placeholder(bind_var) "cast(? as datetime)" end |
permalink #disconnect ⇒ Object
[View source]
22 23 24 |
# File 'lib/dbgeni/connectors/sybase.rb', line 22 def disconnect @connection.close end |
permalink #execute(sql, *binds) ⇒ Object
[View source]
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/dbgeni/connectors/sybase.rb', line 26 def execute(sql, *binds) query = @connection.prepare_statement(sql) binds.each_with_index do |b, i| if b.is_a?(String) query.setString(i+1, b) elsif b.is_a?(Fixnum) query.setInt(i+1, b) end end results = Array.new unless sql =~ /^\s*select/i query.execute() else rset = query.execute_query() cols = rset..get_column_count while(r = rset.next) do a = Array.new 1.upto(cols) do |i| a.push rset.get_object(i) end results.push a end end query.close results end |
permalink #ping ⇒ Object
[View source]
53 54 55 56 57 58 59 60 |
# File 'lib/dbgeni/connectors/sybase.rb', line 53 def ping results = self.execute('select 1') if results.length == 1 true else false end end |
permalink #rollback ⇒ Object
[View source]
66 67 68 |
# File 'lib/dbgeni/connectors/sybase.rb', line 66 def rollback @connection.rollback end |