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>