# File sql-serialize.rb, line 626 def sql_select (dbi) sql = nil if sql_fetch_primary_key_value.nil? sql = "SELECT * FROM " + sql_quote_name(self.type.name.sub(/#<Module .*?>::/, "")) + " WHERE " sql << sql_quote_name("sql_assoc_id") << " = " << @sql_assoc_id.to_s else sql = "SELECT * FROM " + sql_quote_name(self.type.name.sub(/#<Module .*?>::/, "")) + " WHERE " sql << sql_quote_name(@sql_primary_key.id2name) << " = " sql << sql_fetch_primary_key_value end columns = Hash.new dbi.columns(self.type.name.sub( /#<Module .*?>::/, "")).each { |column| columns[column.name] = column.type_name } dbi.execute(sql) { |stm| stm.fetch_hash.each_pair { |key,val| next if val.nil? key = key.dup # this should unfreeze them val = val.dup key.untaint val.untaint sql_set_typecast_value(columns[key],key,val) } } end