pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Kevin Jenkins <gameprogrammer@rakkar.org>
To: pgsql-sql@postgresql.org
Subject: How to test/read a stored procedure that returns a boolean?
Date: Wed, 16 Jan 2008 15:15:41 -0800
Message-ID: <478E901D.7060701@rakkar.org> (raw)

I wrote this function but I'm not sure how to test it in PG Admin III 
Query.

CREATE LANGUAGE 'plpgsql' HANDLER plpgsql_call_handler
                            LANCOMPILER 'PL/pgSQL';

CREATE TABLE handles (
handleID_pk serial PRIMARY KEY UNIQUE NOT NULL,
userID_fk integer UNIQUE NOT NULL,
handle text UNIQUE NOT NULL);

CREATE TABLE disallowedHandles (
handle text UNIQUE NOT NULL);

create or replace function IsUsedHandle(h text) returns boolean as $$
declare
begin
select COUNT(*) as num_matches from handles where handles.handle = h;
return num_matches > 0;
end;
$$ LANGUAGE plpgsql;

INSERT INTO handles (handle, userid_fk) VALUES ('blah', 0);

select * from IsUsedHandle('k');

Instead of true or false, it says

ERROR: query has no destination for result data
SQL state: 42601
Hint: If you want to discard the results of a SELECT, use PERFORM instead.
Context: PL/pgSQL function "isusedhandle" line 3 at SQL statement

If I wanted to call this query and get the boolean result in C++, 
using PQgetvalue, how would I get this?

Thanks!



view thread (3+ messages)  latest in thread

Message-ID: <478E901D.7060701@rakkar.org>
Permalink:  ../478E901D.7060701@rakkar.org/
Also on:    postgresql.org/message-id/478E901D.7060701@rakkar.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: gameprogrammer@rakkar.org
  Subject: Re: How to test/read a stored procedure that returns a boolean?
  In-Reply-To: <478E901D.7060701@rakkar.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox