method
update_nulls_after_insert
v1.2.6 -
Show latest stable
-
0 notes -
Class: ActiveRecord::ConnectionAdapters::OpenBaseAdapter
- 1.0.0
- 1.1.0 (0)
- 1.1.1 (0)
- 1.1.6 (0)
- 1.2.0
- 1.2.6 (0)
- 2.0.0
- 2.0.1
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.2
- 2.3.8
- 3.0.0
- 3.0.5
- 3.0.7
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.3
- 3.2.8
- 3.2.13
- What's this?
update_nulls_after_insert(sql, name = nil, pk = nil, id_value = nil, sequence_name = nil)
private
Hide source
# File activerecord/lib/active_record/connection_adapters/openbase_adapter.rb, line 330 def update_nulls_after_insert(sql, name = nil, pk = nil, id_value = nil, sequence_name = nil) sql =~ /INSERT INTO (\w+) \((.*)\) VALUES\s*\((.*)\)/m table = $1 cols = $2 values = $3 cols = cols.split(',') values.gsub!(/'[^']*'/,"''") values.gsub!(/"[^"]*"/,"\"\"") values = values.split(',') update_cols = [] values.each_index { |index| update_cols << cols[index] if values[index] =~ /\s*NULL\s*/ } update_sql = "UPDATE #{table} SET" update_cols.each { |col| update_sql << " #{col}=NULL," unless col.empty? } update_sql.chop!() update_sql << " WHERE #{pk}=#{quote(id_value)}" execute(update_sql, name + " NULL Correction") if update_cols.size > 0 end


