aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/func6.test36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/func6.test b/test/func6.test
new file mode 100644
index 000000000..5350aeaa7
--- /dev/null
+++ b/test/func6.test
@@ -0,0 +1,36 @@
+# 2017-12-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.
+#
+#*************************************************************************
+#
+# Test cases for the location() function.
+#
+set testdir [file dirname $argv0]
+source $testdir/tester.tcl
+
+do_execsql_test func6-100 {
+ CREATE TABLE t1(a,b,c,d);
+ WITH RECURSIVE c(x) AS (VALUES(1) UNION ALL SELECT x+1 FROM c WHERE x<100)
+ INSERT INTO t1(a,b,c,d) SELECT printf('abc%03x',x), x, 1000-x, NULL FROM c;
+}
+do_execsql_test func6-110 {
+ SELECT a, typeof(location(a)) FROM t1 ORDER BY rowid LIMIT 2;
+} {abc001 integer abc002 integer}
+do_execsql_test func6-120 {
+ SELECT a, typeof(location(+a)) FROM t1 ORDER BY rowid LIMIT 2;
+} {abc001 null abc002 null}
+do_execsql_test func6-130 {
+ CREATE INDEX t1a ON t1(a);
+ SELECT a, typeof(location(a)) FROM t1 ORDER BY a LIMIT 2;
+} {abc001 null abc002 null}
+do_execsql_test func6-140 {
+ SELECT a, typeof(location(a)) FROM t1 NOT INDEXED ORDER BY a LIMIT 2;
+} {abc001 integer abc002 integer}
+
+finish_test