⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utf16align.test

📁 sqlite-3.4.1,嵌入式数据库.是一个功能强大的开源数据库,给学习和研发以及小型公司的发展带来了全所未有的好处.
💻 TEST
字号:
# 2006 February 16## 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 contains code to verify that the SQLITE_UTF16_ALIGNED# flag passed into the sqlite3_create_collation() function insures# that all strings passed to that function are aligned on an even# byte boundary.## $Id: utf16align.test,v 1.1 2006/02/16 18:16:38 drh Exp $set testdir [file dirname $argv0]source $testdir/tester.tcl# Skip this entire test if we do not support UTF16#ifcapable !utf16 {  finish_test  return}# Create a database with a UTF16 encoding.  Put in lots of string# data of varying lengths.#do_test utf16align-1.0 {  set unaligned_string_counter 0  add_alignment_test_collations [sqlite3_connection_pointer db]  execsql {    PRAGMA encoding=UTF16;    CREATE TABLE t1(      id INTEGER PRIMARY KEY,      spacer TEXT,      a TEXT COLLATE utf16_aligned,      b TEXT COLLATE utf16_unaligned    );    INSERT INTO t1(a) VALUES("abc");    INSERT INTO t1(a) VALUES("defghi");    INSERT INTO t1(a) VALUES("jklmnopqrstuv");    INSERT INTO t1(a) VALUES("wxyz0123456789-");    UPDATE t1 SET b=a||'-'||a;    INSERT INTO t1(a,b) SELECT a||b, b||a FROM t1;    INSERT INTO t1(a,b) SELECT a||b, b||a FROM t1;    INSERT INTO t1(a,b) SELECT a||b, b||a FROM t1;    INSERT INTO t1(a,b) VALUES('one','two');    INSERT INTO t1(a,b) SELECT a, b FROM t1;    UPDATE t1 SET spacer = CASE WHEN rowid&1 THEN 'x' ELSE 'xx' END;    SELECT count(*) FROM t1;  }} 66do_test utf16align-1.1 {  set unaligned_string_counter} 0# Creating an index that uses the unaligned collation.  We should see# some unaligned strings passed to the collating function.#do_test utf16align-1.2 {  execsql {    CREATE INDEX t1i1 ON t1(spacer, b);  }  # puts $unaligned_string_counter  expr {$unaligned_string_counter>0}} 1# Create another index that uses the aligned collation.  This time# there should be no unaligned accesses#do_test utf16align-1.3 {  set unaligned_string_counter 0  execsql {    CREATE INDEX t1i2 ON t1(spacer, a);  }  expr {$unaligned_string_counter>0}} 0integrity_check utf16align-1.4finish_test

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -