From 6fb1844d4dd0a3b9746b0b0c300ddf34b0e8fb4f Mon Sep 17 00:00:00 2001 From: rightfold Date: Thu, 22 Dec 2016 23:22:00 +0100 Subject: [PATCH] Add string array OID and check for OIDs --- purspgpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/purspgpp b/purspgpp index 6398e89..b64d5e6 100644 --- a/purspgpp +++ b/purspgpp @@ -60,6 +60,7 @@ my Str:D %types{Int:D} = 25 => 'String', 701 => 'Number', 2950 => 'UUID', + 2951 => 'List String', ; sub process-module(libpq::Connection:D $conn, Str:D $segment --> Str:D) { @@ -69,7 +70,10 @@ sub process-module(libpq::Connection:D $conn, Str:D $segment --> Str:D) { sub process-query(libpq::Connection:D $conn, Str:D $source --> Str:D) { $conn.prepare('', $source); my $description = $conn.describe-prepared(''); - my &convert-types = { ($_.map({%types{$_}}), "Unit").flat.join(" × "); }; + my &convert-types = { + die "unknown oid: $_" unless %types{$_}:exists for $_; + ($_.map({%types{$_}}), "Unit").flat.join(" × "); + }; my $parameters = &convert-types($description.parameters); my $fields = &convert-types($description.fields); "(Query \"\"\"$source\"\"\" :: Query ($parameters) ($fields))";