Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(234)

Unified Diff: third_party/sqlite/sqlite-src-3080704/test/zeroblob.test

Issue 2363173002: [sqlite] Remove obsolete reference version 3.8.7.4. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/sqlite/sqlite-src-3080704/test/zeroblob.test
diff --git a/third_party/sqlite/sqlite-src-3080704/test/zeroblob.test b/third_party/sqlite/sqlite-src-3080704/test/zeroblob.test
deleted file mode 100644
index f4a195083696a4e3227e1dc6076e1a944115a175..0000000000000000000000000000000000000000
--- a/third_party/sqlite/sqlite-src-3080704/test/zeroblob.test
+++ /dev/null
@@ -1,259 +0,0 @@
-# 2007 May 02
-#
-# 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.
-#
-#***********************************************************************
-# This file implements regression tests for SQLite library. The
-# focus of this file is testing of the zero-filled blob functionality
-# including the sqlite3_bind_zeroblob(), sqlite3_result_zeroblob(),
-# and the built-in zeroblob() SQL function.
-#
-# $Id: zeroblob.test,v 1.14 2009/07/14 02:33:02 drh Exp $
-
-set testdir [file dirname $argv0]
-source $testdir/tester.tcl
-
-ifcapable !incrblob {
- finish_test
- return
-}
-
-# When zeroblob() is used for the last field of a column, then the
-# content of the zeroblob is never instantiated on the VDBE stack.
-# But it does get inserted into the database correctly.
-#
-db eval {PRAGMA cache_size=10}
-sqlite3_memory_highwater 1
-unset -nocomplain memused
-set memused [sqlite3_memory_used]
-do_test zeroblob-1.1 {
- execsql {
- CREATE TABLE t1(a,b,c,d);
- }
- set ::sqlite3_max_blobsize 0
- execsql {
- INSERT INTO t1 VALUES(2,3,4,zeroblob(1000000));
- }
- set ::sqlite3_max_blobsize
-} {10}
-do_test zeroblob-1.1.1 {
- expr {[sqlite3_memory_highwater]<$::memused+25000}
-} {1}
-do_test zeroblob-1.2 {
- execsql {
- SELECT length(d) FROM t1
- }
-} {1000000}
-
-# If a non-NULL column follows the zeroblob, then the content of
-# the zeroblob must be instantiated.
-#
-do_test zeroblob-1.3 {
- set ::sqlite3_max_blobsize 0
- execsql {
- INSERT INTO t1 VALUES(3,4,zeroblob(10000),5);
- }
- set ::sqlite3_max_blobsize
-} {10010}
-do_test zeroblob-1.4 {
- execsql {
- SELECT length(c), length(d) FROM t1
- }
-} {1 1000000 10000 1}
-
-# Multiple zeroblobs can appear at the end of record. No instantiation
-# of the blob content occurs on the stack.
-#
-do_test zeroblob-1.5 {
- set ::sqlite3_max_blobsize 0
- execsql {
- INSERT INTO t1 VALUES(4,5,zeroblob(10000),zeroblob(10000));
- }
- set ::sqlite3_max_blobsize
-} {11}
-do_test zeroblob-1.6 {
- execsql {
- SELECT length(c), length(d) FROM t1
- }
-} {1 1000000 10000 1 10000 10000}
-
-# NULLs can follow the zeroblob() or be intermixed with zeroblobs and
-# no instantiation of the zeroblobs occurs on the stack.
-#
-do_test zeroblob-1.7 {
- set ::sqlite3_max_blobsize 0
- execsql {
- INSERT INTO t1 VALUES(5,zeroblob(10000),NULL,zeroblob(10000));
- }
- set ::sqlite3_max_blobsize
-} {10}
-do_test zeroblob-1.8 {
- execsql {
- SELECT length(b), length(d) FROM t1 WHERE a=5
- }
-} {10000 10000}
-
-# Comparisons against zeroblobs work.
-#
-do_test zeroblob-2.1 {
- execsql {
- SELECT a FROM t1 WHERE b=zeroblob(10000)
- }
-} {5}
-
-# Comparisons against zeroblobs work even when indexed.
-#
-do_test zeroblob-2.2 {
- execsql {
- CREATE INDEX i1_1 ON t1(b);
- SELECT a FROM t1 WHERE b=zeroblob(10000);
- }
-} {5}
-
-# DISTINCT works for zeroblobs
-#
-ifcapable bloblit&&subquery&&compound {
- do_test zeroblob-3.1 {
- execsql {
- SELECT count(DISTINCT a) FROM (
- SELECT x'00000000000000000000' AS a
- UNION ALL
- SELECT zeroblob(10) AS a
- )
- }
- } {1}
-}
-
-# Concatentation works with zeroblob
-#
-ifcapable bloblit {
- do_test zeroblob-4.1 {
- execsql {
- SELECT hex(zeroblob(2) || x'61')
- }
- } {000061}
-}
-
-# Check various CAST(...) operations on zeroblob.
-#
-do_test zeroblob-5.1 {
- execsql {
- SELECT CAST (zeroblob(100) AS REAL);
- }
-} {0.0}
-do_test zeroblob-5.2 {
- execsql {
- SELECT CAST (zeroblob(100) AS INTEGER);
- }
-} {0}
-do_test zeroblob-5.3 {
- execsql {
- SELECT CAST (zeroblob(100) AS TEXT);
- }
-} {{}}
-do_test zeroblob-5.4 {
- execsql {
- SELECT CAST(zeroblob(100) AS BLOB);
- }
-} [execsql {SELECT zeroblob(100)}]
-
-
-# Check for malicious use of zeroblob. Make sure nothing crashes.
-#
-do_test zeroblob-6.1.1 {
- execsql {select zeroblob(-1)}
-} {{}}
-do_test zeroblob-6.1.2 {
- execsql {select zeroblob(-10)}
-} {{}}
-do_test zeroblob-6.1.3 {
- execsql {select zeroblob(-100)}
-} {{}}
-do_test zeroblob-6.2 {
- execsql {select length(zeroblob(-1))}
-} {0}
-do_test zeroblob-6.3 {
- execsql {select zeroblob(-1)|1}
-} {1}
-do_test zeroblob-6.4 {
- catchsql {select length(zeroblob(2147483648))}
-} {1 {string or blob too big}}
-do_test zeroblob-6.5 {
- catchsql {select zeroblob(2147483648)}
-} {1 {string or blob too big}}
-do_test zeroblob-6.6 {
- execsql {select hex(zeroblob(-1))}
-} {{}}
-do_test zeroblob-6.7 {
- execsql {select typeof(zeroblob(-1))}
-} {blob}
-
-# Test bind_zeroblob()
-#
-sqlite3_memory_highwater 1
-unset -nocomplain memused
-set memused [sqlite3_memory_used]
-do_test zeroblob-7.1 {
- set ::STMT [sqlite3_prepare $::DB "SELECT length(?)" -1 DUMMY]
- set ::sqlite3_max_blobsize 0
- sqlite3_bind_zeroblob $::STMT 1 450000
- sqlite3_step $::STMT
-} {SQLITE_ROW}
-do_test zeroblob-7.2 {
- sqlite3_column_int $::STMT 0
-} {450000}
-do_test zeroblob-7.3 {
- sqlite3_finalize $::STMT
-} {SQLITE_OK}
-do_test zeroblob-7.4 {
- set ::sqlite3_max_blobsize
-} {0}
-do_test zeroblob-7.5 {
- expr {[sqlite3_memory_highwater]<$::memused+10000}
-} {1}
-
-# Test that MakeRecord can handle a value with some real content
-# and a zero-blob tail.
-#
-do_test zeroblob-8.1 {
- llength [execsql {
- SELECT 'hello' AS a, zeroblob(10) as b from t1 ORDER BY a, b;
- }]
-} {8}
-
-
-# Ticket #3965
-# zeroblobs on either size of an IN operator
-#
-do_test zeroblob-9.1 {
- db eval {SELECT x'0000' IN (x'000000')}
-} {0}
-do_test zeroblob-9.2 {
- db eval {SELECT x'0000' IN (x'0000')}
-} {1}
-do_test zeroblob-9.3 {
- db eval {SELECT zeroblob(2) IN (x'000000')}
-} {0}
-do_test zeroblob-9.4 {
- db eval {SELECT zeroblob(2) IN (x'0000')}
-} {1}
-do_test zeroblob-9.5 {
- db eval {SELECT x'0000' IN (zeroblob(3))}
-} {0}
-do_test zeroblob-9.6 {
- db eval {SELECT x'0000' IN (zeroblob(2))}
-} {1}
-do_test zeroblob-9.7 {
- db eval {SELECT zeroblob(2) IN (zeroblob(3))}
-} {0}
-do_test zeroblob-9.8 {
- db eval {SELECT zeroblob(2) IN (zeroblob(2))}
-} {1}
-
-
-finish_test
« no previous file with comments | « third_party/sqlite/sqlite-src-3080704/test/wordcount.c ('k') | third_party/sqlite/sqlite-src-3080704/test/zerodamage.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698