class SQLite3ExplainTest

Public Instance Methods

test_explain_for_one_query() click to toggle source
# File activerecord/test/cases/adapters/sqlite3/explain_test.rb, line 10
def test_explain_for_one_query
  explain = Developer.where(id: 1).explain
  assert_match %r(EXPLAIN for: SELECT "developers"\.\* FROM "developers" WHERE "developers"\."id" = (?:\? \[\["id", 1\]\]|1)), explain
  assert_match(/(SEARCH )?TABLE developers USING (INTEGER )?PRIMARY KEY/, explain)
end
test_explain_with_eager_loading() click to toggle source
# File activerecord/test/cases/adapters/sqlite3/explain_test.rb, line 16
def test_explain_with_eager_loading
  explain = Developer.where(id: 1).includes(:audit_logs).explain
  assert_match %r(EXPLAIN for: SELECT "developers"\.\* FROM "developers" WHERE "developers"\."id" = (?:\? \[\["id", 1\]\]|1)), explain
  assert_match(/(SEARCH )?TABLE developers USING (INTEGER )?PRIMARY KEY/, explain)
  assert_match %r(EXPLAIN for: SELECT "audit_logs"\.\* FROM "audit_logs" WHERE "audit_logs"\."developer_id" = (?:\? \[\["developer_id", 1\]\]|1)), explain
  assert_match(/(SCAN )?TABLE audit_logs/, explain)
end