File: test_instr_utf8.test

package info (click to toggle)
duckdb 1.5.1-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 299,196 kB
  • sloc: cpp: 865,414; ansic: 57,292; python: 18,871; sql: 12,663; lisp: 11,751; yacc: 7,412; lex: 1,682; sh: 747; makefile: 558
file content (93 lines) | stat: -rw-r--r-- 1,269 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# name: test/sql/function/string/test_instr_utf8.test
# description: Instr test with UTF8
# group: [string]

statement ok
PRAGMA enable_verification

statement ok
CREATE TABLE strings(s VARCHAR);

statement ok
INSERT INTO strings VALUES ('átomo')

statement ok
INSERT INTO strings VALUES ('olá mundo')

statement ok
INSERT INTO strings VALUES ('你好世界')

statement ok
INSERT INTO strings VALUES ('two ñ three ₡ four 🦆 end')

# Test one matching UTF8 letter
query I
SELECT INSTR(s,'á') FROM strings
----
1
3
0
0

query I
SELECT POSITION('á' in s) FROM strings
----
1
3
0
0

# Test a sentence with UTF-8
query I
SELECT INSTR(s,'olá mundo') FROM strings
----
0
1
0
0

# Test an entire UTF-8 word
query I
SELECT INSTR(s,'你好世界') FROM strings
----
0
0
1
0

# Test a substring of the haystack from the beginning
query I
SELECT instr(s,'two ñ thr') FROM strings
----
0
0
0
1

# Test a single UTF8 substring of the haystack in the middle
query I
SELECT instr(s,'ñ') FROM strings
----
0
0
0
5

# Test a multiple UTF8 substring of the haystack in the middle
query I
SELECT instr(s,'₡ four 🦆 e') FROM strings
----
0
0
0
13

# Test a substring of the haystack from the middle to the end
query I
SELECT instr(s,'🦆 end') FROM strings
----
0
0
0
20