projects
/
arvados.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
10181: Merge branch 'master' into 10181-incremental-log
[arvados.git]
/
services
/
api
/
app
/
models
/
arvados_model.rb
diff --git
a/services/api/app/models/arvados_model.rb
b/services/api/app/models/arvados_model.rb
index 19f08e7297207481e934c81e1b734b4474d1e298..c67a3961d94a404468fcebd08107869b8e59ac46 100644
(file)
--- a/
services/api/app/models/arvados_model.rb
+++ b/
services/api/app/models/arvados_model.rb
@@
-596,16
+596,24
@@
class ArvadosModel < ActiveRecord::Base
end
end
end
end
- def self.where_serialized(colname, value)
+ def self.where_serialized(colname, value, md5: false)
+ colsql = colname.to_s
+ if md5
+ colsql = "md5(#{colsql})"
+ end
if value.empty?
# rails4 stores as null, rails3 stored as serialized [] or {}
if value.empty?
# rails4 stores as null, rails3 stored as serialized [] or {}
- sql = "#{col
name.to_s} is null or #{colname.to_s
} IN (?)"
+ sql = "#{col
sql} is null or #{colsql
} IN (?)"
sorted = value
else
sorted = value
else
- sql = "#{col
name.to_s
} IN (?)"
+ sql = "#{col
sql
} IN (?)"
sorted = deep_sort_hash(value)
end
sorted = deep_sort_hash(value)
end
- where(sql, [sorted.to_yaml, SafeJSON.dump(sorted)])
+ params = [sorted.to_yaml, SafeJSON.dump(sorted)]
+ if md5
+ params = params.map { |x| Digest::MD5.hexdigest(x) }
+ end
+ where(sql, params)
end
Serializer = {
end
Serializer = {
@@
-764,8
+772,8
@@
class ArvadosModel < ActiveRecord::Base
end
def is_audit_logging_enabled?
end
def is_audit_logging_enabled?
- return
Rails.configuration.max_audit_log_age == 0
- and Rails.configuration.max_audit_log_delete_batch > 0
+ return
!(Rails.configuration.max_audit_log_age.to_i == 0 &&
+ Rails.configuration.max_audit_log_delete_batch.to_i > 0)
end
def log_start_state
end
def log_start_state