Annotation of embedaddon/sqlite3/test/quote.test, revision 1.1
1.1 ! misho 1: # 2001 September 15
! 2: #
! 3: # The author disclaims copyright to this source code. In place of
! 4: # a legal notice, here is a blessing:
! 5: #
! 6: # May you do good and not evil.
! 7: # May you find forgiveness for yourself and forgive others.
! 8: # May you share freely, never taking more than you give.
! 9: #
! 10: #***********************************************************************
! 11: # This file implements regression tests for SQLite library. The
! 12: # focus of this file is the ability to specify table and column names
! 13: # as quoted strings.
! 14: #
! 15: # $Id: quote.test,v 1.7 2007/04/25 11:32:30 drh Exp $
! 16:
! 17: set testdir [file dirname $argv0]
! 18: source $testdir/tester.tcl
! 19:
! 20: # Create a table with a strange name and with strange column names.
! 21: #
! 22: do_test quote-1.0 {
! 23: catchsql {CREATE TABLE '@abc' ( '#xyz' int, '!pqr' text );}
! 24: } {0 {}}
! 25:
! 26: # Insert, update and query the table.
! 27: #
! 28: do_test quote-1.1 {
! 29: catchsql {INSERT INTO '@abc' VALUES(5,'hello')}
! 30: } {0 {}}
! 31: do_test quote-1.2.1 {
! 32: catchsql {SELECT * FROM '@abc'}
! 33: } {0 {5 hello}}
! 34: do_test quote-1.2.2 {
! 35: catchsql {SELECT * FROM [@abc]} ;# SqlServer compatibility
! 36: } {0 {5 hello}}
! 37: do_test quote-1.2.3 {
! 38: catchsql {SELECT * FROM `@abc`} ;# MySQL compatibility
! 39: } {0 {5 hello}}
! 40: do_test quote-1.3 {
! 41: catchsql {
! 42: SELECT '@abc'.'!pqr', '@abc'.'#xyz'+5 FROM '@abc'
! 43: }
! 44: } {0 {hello 10}}
! 45: do_test quote-1.3.1 {
! 46: catchsql {
! 47: SELECT '!pqr', '#xyz'+5 FROM '@abc'
! 48: }
! 49: } {0 {!pqr 5}}
! 50: do_test quote-1.3.2 {
! 51: catchsql {
! 52: SELECT "!pqr", "#xyz"+5 FROM '@abc'
! 53: }
! 54: } {0 {hello 10}}
! 55: do_test quote-1.3.3 {
! 56: catchsql {
! 57: SELECT [!pqr], `#xyz`+5 FROM '@abc'
! 58: }
! 59: } {0 {hello 10}}
! 60: do_test quote-1.3.4 {
! 61: set r [catch {
! 62: execsql {SELECT '@abc'.'!pqr', '@abc'.'#xyz'+5 FROM '@abc'}
! 63: } msg ]
! 64: lappend r $msg
! 65: } {0 {hello 10}}
! 66: do_test quote-1.4 {
! 67: set r [catch {
! 68: execsql {UPDATE '@abc' SET '#xyz'=11}
! 69: } msg ]
! 70: lappend r $msg
! 71: } {0 {}}
! 72: do_test quote-1.5 {
! 73: set r [catch {
! 74: execsql {SELECT '@abc'.'!pqr', '@abc'.'#xyz'+5 FROM '@abc'}
! 75: } msg ]
! 76: lappend r $msg
! 77: } {0 {hello 16}}
! 78:
! 79: # Drop the table with the strange name.
! 80: #
! 81: do_test quote-1.6 {
! 82: set r [catch {
! 83: execsql {DROP TABLE '@abc'}
! 84: } msg ]
! 85: lappend r $msg
! 86: } {0 {}}
! 87:
! 88:
! 89: finish_test
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>