lib/og/adapters/oracle.rb in og-0.15.0 vs lib/og/adapters/oracle.rb in og-0.16.0
- old
+ new
@@ -1,20 +1,18 @@
# * Matt Bowen <matt.bowen@farweststeel.com>
# * George Moschovitis <gm@navel.gr>
# (c) 2004-2005 Navel, all rights reserved.
-# $Id: oracle.rb 337 2005-03-31 16:20:40Z gmosx $
+# $Id: oracle.rb 17 2005-04-14 16:03:40Z gmosx $
begin
require 'oracle'
rescue
Logger.error 'Ruby-Oracle bindings are not installed!'
Logger.error ex
end
-require 'og/adapter'
-require 'og/connection'
-require 'glue/attribute'
+require 'og/adapters/base'
module Og
# The Oracle adapter. This adapter communicates with
# an Oracle rdbms. For extra documentation see
@@ -84,23 +82,21 @@
# FIXME: what is appropriate for oracle?
# `dropdb #{database} -U #{user}`
super
end
- def insert_code(klass, db, pre_cb, post_cb)
+ def insert_code(klass, db)
props = props_for_insert(klass)
values = props.collect { |p| write_prop(p) }.join(',')
sql = "INSERT INTO #{klass::DBTABLE} (#{props.collect {|p| p.name}.join(',')}) VALUES (#{values})"
%{
- #{pre_cb}
res = conn.store.exec("SELECT #{klass::DBSEQ}.nextval FROM DUAL")
@oid = res.fetch[0].to_i
res.close
conn.exec "#{sql}"
- #{post_cb}
}
end
def new_connection(db)
return OracleConnection.new(db)
@@ -335,11 +331,11 @@
return nil unless valid_res?(res)
row = res.fetch
return nil unless row
- obj = klass.new
+ obj = klass.allocate
obj.og_read(row)
res.close
return obj
end
@@ -347,10 +343,10 @@
def read_all(res, klass)
return [] unless valid_res?(res)
objects = []
while row = res.fetch
- obj = klass.new
+ obj = klass.allocate
obj.og_read(row)
objects << obj
end
res.close