class Sequel::JDBC::Dataset
Constants
- PreparedStatementMethods
- StoredProcedureMethods
Public Instance Methods
Source
# File lib/sequel/adapters/jdbc.rb 756 def fetch_rows(sql, &block) 757 execute(sql){|result| process_result_set(result, &block)} 758 self 759 end
Source
# File lib/sequel/adapters/jdbc.rb 767 def with_convert_types(v) 768 clone(:convert_types=>v) 769 end
Set whether to convert Java types to ruby types in the returned dataset.
Source
# File lib/sequel/adapters/jdbc.rb 762 def with_fetch_size(size) 763 clone(:fetch_size=>size) 764 end
Set the fetch size on JDBC
ResultSets created from the returned dataset.
Private Instance Methods
Source
# File lib/sequel/adapters/jdbc.rb 795 def basic_type_convertor(map, meta, type, i) 796 map[type] 797 end
The basic type conversion proc to use for the given column number i, given the type conversion map and the ResultSetMetaData.
This is implemented as a separate method so that subclasses can override the methods separately.
Source
# File lib/sequel/adapters/jdbc.rb 774 def convert_types? 775 ct = @opts[:convert_types] 776 ct.nil? ? db.convert_types : ct 777 end
Whether we should convert Java types to ruby types for this dataset.
Source
# File lib/sequel/adapters/jdbc.rb 780 def prepare_extend_sproc(ds) 781 ds.with_extend(StoredProcedureMethods) 782 end
Extend the dataset with the JDBC
stored procedure methods.
Source
# File lib/sequel/adapters/jdbc.rb 799 def prepared_statement_modules 800 [PreparedStatementMethods] 801 end
Source
# File lib/sequel/adapters/jdbc.rb 805 def process_result_set(result) 806 meta = result.getMetaData 807 if fetch_size = opts[:fetch_size] 808 result.setFetchSize(fetch_size) 809 end 810 cols = [] 811 i = 0 812 convert = convert_types? 813 map = convert ? db.type_convertor_map : db.basic_type_convertor_map 814 815 meta.getColumnCount.times do 816 i += 1 817 cols << [output_identifier(meta.getColumnLabel(i)), i, convert ? type_convertor(map, meta, meta.getColumnType(i), i) : basic_type_convertor(map, meta, meta.getColumnType(i), i)] 818 end 819 max = i 820 self.columns = cols.map{|c| c[0]} 821 822 while result.next 823 row = {} 824 i = -1 825 while (i += 1) < max 826 n, j, pr = cols[i] 827 row[n] = pr.call(result, j) 828 end 829 yield row 830 end 831 ensure 832 result.close 833 end
Split out from fetch rows to allow processing of JDBC
result sets that don’t come from issuing an SQL
string.
Source
# File lib/sequel/adapters/jdbc.rb 786 def type_convertor(map, meta, type, i) 787 map[type] 788 end
The type conversion proc to use for the given column number i, given the type conversion map and the ResultSetMetaData.