Function geht nicht "invalid input syntax for integer: (0,t,)"

Hallo,

habe folgenden funktion:

DROP TYPE If EXISTS "CardState" CASCADE;
CREATE TYPE "CardState" AS (box integer, active boolean, timestamp timestamp);

CREATE OR REPLACE FUNCTION "GetCardState"(param_user_id integer, param_cards_id integer) RETURNS "CardState" AS $$
	DECLARE
		cnt integer;
		result "CardState";
	BEGIN
		SELECT count(*) INTO cnt FROM "UserCardState" WHERE user_id=param_user_id and cards_id=param_cards_id;
		
		If cnt < 1 THEN
			INSERT INTO "UserCardState" (user_id, cards_id, box, active) VALUES (param_user_id, param_cards_id, 0, true);
		END IF;
		
		SELECT (box, active, timestamp) INTO result FROM "UserCardState" WHERE user_id=param_user_id and cards_id=param_cards_id;
		RETURN result;
	END;
$$ LANGUAGE 'plpgsql' SECURITY DEFINER;

Doch beim Aufruf von “select * from “GetCardState”(2, 1);” bekomme ich folgende Fehlermeldung:

ERROR: invalid input syntax for integer: “(0,t,)”
CONTEXT: PL/pgSQL function “GetCardState” line 11 at SQL statement

********** Error **********

ERROR: invalid input syntax for integer: “(0,t,)”
SQL state: 22P02
Context: PL/pgSQL function “GetCardState” line 11 at SQL statement

Die Tabellen/Spalten gibt es und sind nicht falsch geschrieben.
Was ist an dieser Funktion falsch?

mfg
cfi

Dein param_cards_id hat als Wert t, was nun mal nicht wirklich ein INT ist.

Andreas

Und woher kommt das ‘t’? Im Funktionsaufruf übergebe ich 2 Zahlen…

EDIT:
Habs gefunden: beim 2. SELECT musste ich die Klammern entfernen!