# 2007 Sep 3
#
# The author disclaims copyright to this source code.  In place of
# a legal notice, here is a blessing:
#
#    May you do good and not evil.
#    May you find forgiveness for yourself and forgive others.
#    May you share freely, never taking more than you give.
#
#***********************************************************************
#
# Tests on the sqlite3_open_v2() interface.
#
# $Id: openv2.test,v 1.2 2009/06/11 17:32:45 drh Exp $

set testdir [file dirname $argv0]
source $testdir/tester.tcl

db close
file delete -force test.db test.db-journal
do_test openv2-1.1 {
  set rc [catch {sqlite3 db test.db -create 0} msg]
  lappend rc $msg
} {1 {unable to open database file}}
do_test openv2-1.2 {
  info commands db
} {}
do_test openv2-1.3 {
  sqlite3 db test.db
  db eval {CREATE TABLE t1(x)}
  db close
  sqlite3 db test.db -readonly 1
  db eval {SELECT name FROM sqlite_master}
} {t1}
do_test openv2-1.4 {
  catchsql {
    INSERT INTO t1 VALUES(123)
  }
} {1 {attempt to write a readonly database}}

# Ticket #3908
# Honor SQLITE_OPEN_READONLY even on an in-memory database, even though
# this is pointless.
#
do_test openv2-2.1 {
  db close
  sqlite3 db :memory: -readonly 1
  db eval {SELECT * FROM sqlite_master}
} {}
do_test openv2-2.2 {
  catchsql {CREATE TABLE t1(x)}
} {1 {attempt to write a readonly database}}


finish_test
