From bbec536a4333ae62633a5f134ef02fe0f60e0ec5 Mon Sep 17 00:00:00 2001
From: Aleksander Alekseev <aleksander@timescale.com>
Date: Thu, 27 Feb 2025 15:39:29 +0300
Subject: [PATCH v1] Cover POSITION(bytea,bytea) with tests

Aleksander Alekseev, reviewed by TODO FIXME
Discussion: TODO FIXME
---
 src/test/regress/expected/strings.out | 24 ++++++++++++++++++++++++
 src/test/regress/sql/strings.sql      |  4 ++++
 2 files changed, 28 insertions(+)

diff --git a/src/test/regress/expected/strings.out b/src/test/regress/expected/strings.out
index b65bb2d5368..1bf096f8fe1 100644
--- a/src/test/regress/expected/strings.out
+++ b/src/test/regress/expected/strings.out
@@ -2630,6 +2630,30 @@ SELECT btrim(E'\\000trim\\000'::bytea, ''::bytea);
  \000trim\000
 (1 row)
 
+SELECT position(''::bytea IN '\x1122'::bytea);
+ position 
+----------
+        1
+(1 row)
+
+SELECT position('\x11'::bytea IN ''::bytea);
+ position 
+----------
+        0
+(1 row)
+
+SELECT position('\x3344'::bytea IN '\x11223344'::bytea);
+ position 
+----------
+        3
+(1 row)
+
+SELECT position('\x5566'::bytea IN '\x11223344'::bytea);
+ position 
+----------
+        0
+(1 row)
+
 SELECT encode(overlay(E'Th\\000omas'::bytea placing E'Th\\001omas'::bytea from 2),'escape');
    encode    
 -------------
diff --git a/src/test/regress/sql/strings.sql b/src/test/regress/sql/strings.sql
index 8e0f3a0e75f..691c294f80c 100644
--- a/src/test/regress/sql/strings.sql
+++ b/src/test/regress/sql/strings.sql
@@ -830,6 +830,10 @@ SELECT trim(trailing E'\\000'::bytea from E'\\000Tom\\000'::bytea);
 SELECT btrim(E'\\000trim\\000'::bytea, E'\\000'::bytea);
 SELECT btrim(''::bytea, E'\\000'::bytea);
 SELECT btrim(E'\\000trim\\000'::bytea, ''::bytea);
+SELECT position(''::bytea IN '\x1122'::bytea);
+SELECT position('\x11'::bytea IN ''::bytea);
+SELECT position('\x3344'::bytea IN '\x11223344'::bytea);
+SELECT position('\x5566'::bytea IN '\x11223344'::bytea);
 SELECT encode(overlay(E'Th\\000omas'::bytea placing E'Th\\001omas'::bytea from 2),'escape');
 SELECT encode(overlay(E'Th\\000omas'::bytea placing E'\\002\\003'::bytea from 8),'escape');
 SELECT encode(overlay(E'Th\\000omas'::bytea placing E'\\002\\003'::bytea from 5 for 3),'escape');
-- 
2.48.1

