proposal: searching in array function - array_position - Mailing list pgsql-hackers

From Pavel Stehule
Subject proposal: searching in array function - array_position
Date
Msg-id CAFj8pRBYDvz-qFfSwGZqQoYLBXWapeOXpyh-d=bHZB575zHGmQ@mail.gmail.com
Whole thread Raw
Responses Re: proposal: searching in array function - array_position
List pgsql-hackers
Hi

I am proposing a simple function, that returns a position of element in array.

FUNCTION array_position(anyarray, anyelement) RETURNS int

Implementation is simple (plpgsql code)

CREATE OR REPLACE FUNCTION array_position(anyarray, anyelement)
RETURNS int AS $$
DECLARE i int := 0;
BEGIN
  FOREACH a IN ARRAY $1
  LOOP
    IF a = $1 THEN
      RETURN i;
    END IF;
    i := i + 1;
  END LOOP;
  RETURN NULL;
END;
$$ LANGUAGE plpgsql IMMUTABLE STRICT;

A possible benefits:

1. speed in plpgsql applications
2. reduced length of SQL functions

Ideas, comments, notices?

Regards

Pavel

pgsql-hackers by date:

Previous
From: Noah Misch
Date:
Subject: hamerkop is stuck
Next
From: Pavel Stehule
Date:
Subject: proposal: row_to_array function