svn:external rails updated to 1.2.2
fixed ticket #372 typo in db-query sqlite3-ruby updated to 1.2.1
This commit is contained in:
parent
7378ce9610
commit
49032a99c6
|
@ -23,7 +23,7 @@ class Web < ActiveRecord::Base
|
||||||
'FROM revisions r ' +
|
'FROM revisions r ' +
|
||||||
'JOIN pages p ON p.id = r.page_id ' +
|
'JOIN pages p ON p.id = r.page_id ' +
|
||||||
'WHERE p.web_id = ' + self.id.to_s +
|
'WHERE p.web_id = ' + self.id.to_s +
|
||||||
'ORDER by 1 '
|
' ORDER by 1 '
|
||||||
).collect { |row| row['author'] }
|
).collect { |row| row['author'] }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ Rails::Initializer.run do |config|
|
||||||
|
|
||||||
# Use the database for sessions instead of the file system
|
# Use the database for sessions instead of the file system
|
||||||
# (create the session table with 'rake create_sessions_table')
|
# (create the session table with 'rake create_sessions_table')
|
||||||
config.action_controller.session_store = :active_record_store
|
#config.action_controller.session_store = :active_record_store
|
||||||
|
|
||||||
# Enable page/fragment caching by setting a file-based store
|
# Enable page/fragment caching by setting a file-based store
|
||||||
# (remember to create the caching directory and make it readable to the application)
|
# (remember to create the caching directory and make it readable to the application)
|
||||||
|
|
51
vendor/plugins/sqlite3-ruby/sqlite3/pragmas.rb
vendored
51
vendor/plugins/sqlite3-ruby/sqlite3/pragmas.rb
vendored
|
@ -246,9 +246,56 @@ module SQLite3
|
||||||
end
|
end
|
||||||
|
|
||||||
def table_info( table, &block ) # :yields: row
|
def table_info( table, &block ) # :yields: row
|
||||||
get_query_pragma "table_info", table, &block
|
columns, *rows = execute2("PRAGMA table_info(#{table})")
|
||||||
|
|
||||||
|
needs_tweak_default = version_compare(driver.libversion, "3.3.7") > 0
|
||||||
|
|
||||||
|
result = [] unless block_given?
|
||||||
|
rows.each do |row|
|
||||||
|
new_row = {}
|
||||||
|
columns.each_with_index do |name, index|
|
||||||
|
new_row[name] = row[index]
|
||||||
|
end
|
||||||
|
|
||||||
|
tweak_default(new_row) if needs_tweak_default
|
||||||
|
|
||||||
|
if block_given?
|
||||||
|
yield new_row
|
||||||
|
else
|
||||||
|
result << new_row
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
result
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
# Compares two version strings
|
||||||
|
def version_compare(v1, v2)
|
||||||
|
v1 = v1.split(".").map { |i| i.to_i }
|
||||||
|
v2 = v2.split(".").map { |i| i.to_i }
|
||||||
|
parts = [v1.length, v2.length].max
|
||||||
|
v1.push 0 while v1.length < parts
|
||||||
|
v2.push 0 while v2.length < parts
|
||||||
|
v1.zip(v2).each do |a,b|
|
||||||
|
return -1 if a < b
|
||||||
|
return 1 if a > b
|
||||||
|
end
|
||||||
|
return 0
|
||||||
|
end
|
||||||
|
|
||||||
|
# Since SQLite 3.3.8, the table_info pragma has returned the default
|
||||||
|
# value of the row as a quoted SQL value. This method essentially
|
||||||
|
# unquotes those values.
|
||||||
|
def tweak_default(hash)
|
||||||
|
case hash["dflt_value"]
|
||||||
|
when /^null$/i then
|
||||||
|
hash["dflt_value"] = nil
|
||||||
|
when /^'(.*)'$/
|
||||||
|
hash["dflt_value"] = $1.gsub(/''/, "'")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -36,9 +36,10 @@ module SQLite3
|
||||||
|
|
||||||
MAJOR = 1
|
MAJOR = 1
|
||||||
MINOR = 2
|
MINOR = 2
|
||||||
TINY = 0
|
TINY = 1
|
||||||
|
|
||||||
STRING = [ MAJOR, MINOR, TINY ].join( "." )
|
STRING = [ MAJOR, MINOR, TINY ].join( "." )
|
||||||
|
#:beta-tag:
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue