Skip to content

Commit 607b2be

Browse files
committed
Additional string function tests for coverage of oracle_compat.c
1 parent d5d552f commit 607b2be

File tree

2 files changed

+181
-0
lines changed

2 files changed

+181
-0
lines changed

src/test/regress/expected/strings.out

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,3 +1240,146 @@ select 'a\\bcd' as f1, 'a\\b\'cd' as f2, 'a\\b\'''cd' as f3, 'abcd\\' as f4, '
12401240
a\bcd | a\b'cd | a\b''cd | abcd\ | ab\'cd | \\
12411241
(1 row)
12421242

1243+
--
1244+
-- Additional string functions
1245+
--
1246+
SELECT initcap('hi THOMAS');
1247+
initcap
1248+
-----------
1249+
Hi Thomas
1250+
(1 row)
1251+
1252+
SELECT lpad('hi', 5, 'xy');
1253+
lpad
1254+
-------
1255+
xyxhi
1256+
(1 row)
1257+
1258+
SELECT lpad('hi', 5);
1259+
lpad
1260+
-------
1261+
hi
1262+
(1 row)
1263+
1264+
SELECT lpad('hi', -5, 'xy');
1265+
lpad
1266+
------
1267+
1268+
(1 row)
1269+
1270+
SELECT lpad('hello', 2);
1271+
lpad
1272+
------
1273+
he
1274+
(1 row)
1275+
1276+
SELECT lpad('hi', 5, '');
1277+
lpad
1278+
------
1279+
hi
1280+
(1 row)
1281+
1282+
SELECT rpad('hi', 5, 'xy');
1283+
rpad
1284+
-------
1285+
hixyx
1286+
(1 row)
1287+
1288+
SELECT rpad('hi', 5);
1289+
rpad
1290+
-------
1291+
hi
1292+
(1 row)
1293+
1294+
SELECT rpad('hi', -5, 'xy');
1295+
rpad
1296+
------
1297+
1298+
(1 row)
1299+
1300+
SELECT rpad('hello', 2);
1301+
rpad
1302+
------
1303+
he
1304+
(1 row)
1305+
1306+
SELECT rpad('hi', 5, '');
1307+
rpad
1308+
------
1309+
hi
1310+
(1 row)
1311+
1312+
SELECT ltrim('zzzytrim', 'xyz');
1313+
ltrim
1314+
-------
1315+
trim
1316+
(1 row)
1317+
1318+
SELECT translate('', '14', 'ax');
1319+
translate
1320+
-----------
1321+
1322+
(1 row)
1323+
1324+
SELECT translate('12345', '14', 'ax');
1325+
translate
1326+
-----------
1327+
a23x5
1328+
(1 row)
1329+
1330+
SELECT ascii('x');
1331+
ascii
1332+
-------
1333+
120
1334+
(1 row)
1335+
1336+
SELECT ascii('');
1337+
ascii
1338+
-------
1339+
0
1340+
(1 row)
1341+
1342+
SELECT chr(65);
1343+
chr
1344+
-----
1345+
A
1346+
(1 row)
1347+
1348+
SELECT chr(0);
1349+
ERROR: null character not permitted
1350+
SELECT repeat('Pg', 4);
1351+
repeat
1352+
----------
1353+
PgPgPgPg
1354+
(1 row)
1355+
1356+
SELECT repeat('Pg', -4);
1357+
repeat
1358+
--------
1359+
1360+
(1 row)
1361+
1362+
SELECT trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea);
1363+
btrim
1364+
-------
1365+
Tom
1366+
(1 row)
1367+
1368+
SELECT btrim(E'\\000trim\\000'::bytea, E'\\000'::bytea);
1369+
btrim
1370+
-------
1371+
trim
1372+
(1 row)
1373+
1374+
SELECT btrim(''::bytea, E'\\000'::bytea);
1375+
btrim
1376+
-------
1377+
1378+
(1 row)
1379+
1380+
SELECT btrim(E'\\000trim\\000'::bytea, ''::bytea);
1381+
btrim
1382+
--------------
1383+
\000trim\000
1384+
(1 row)
1385+

src/test/regress/sql/strings.sql

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,3 +450,41 @@ select 'a\bcd' as f1, 'a\b''cd' as f2, 'a\b''''cd' as f3, 'abcd\' as f4, 'ab\'
450450
set standard_conforming_strings = off;
451451
452452
select 'a\\bcd' as f1, 'a\\b\'cd' as f2, 'a\\b\'''cd' as f3, 'abcd\\' as f4, 'ab\\\'cd' as f5, '\\\\' as f6;
453+
454+
455+
--
456+
-- Additional string functions
457+
--
458+
459+
SELECT initcap('hi THOMAS');
460+
461+
SELECT lpad('hi', 5, 'xy');
462+
SELECT lpad('hi', 5);
463+
SELECT lpad('hi', -5, 'xy');
464+
SELECT lpad('hello', 2);
465+
SELECT lpad('hi', 5, '');
466+
467+
SELECT rpad('hi', 5, 'xy');
468+
SELECT rpad('hi', 5);
469+
SELECT rpad('hi', -5, 'xy');
470+
SELECT rpad('hello', 2);
471+
SELECT rpad('hi', 5, '');
472+
473+
SELECT ltrim('zzzytrim', 'xyz');
474+
475+
SELECT translate('', '14', 'ax');
476+
SELECT translate('12345', '14', 'ax');
477+
478+
SELECT ascii('x');
479+
SELECT ascii('');
480+
481+
SELECT chr(65);
482+
SELECT chr(0);
483+
484+
SELECT repeat('Pg', 4);
485+
SELECT repeat('Pg', -4);
486+
487+
SELECT trim(E'\\000'::bytea from E'\\000Tom\\000'::bytea);
488+
SELECT btrim(E'\\000trim\\000'::bytea, E'\\000'::bytea);
489+
SELECT btrim(''::bytea, E'\\000'::bytea);
490+
SELECT btrim(E'\\000trim\\000'::bytea, ''::bytea);

0 commit comments

Comments
 (0)