pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Andrew C.R. Martin <a.c.r.martin@reading.ac.uk>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: interfaces@postgreSQL.org
Cc: docs@postgreSQL.org
Cc: hackers@postgreSQL.org
Subject: Re: [HACKERS] Re: Bugs: Programming Language Functions
Date: Tue, 11 Apr 2000 18:04:17 +0100
Message-ID: <00041118092100.28482@sapc13.rdg.ac.uk> (raw)
References: <1291.955469139@sss.pgh.pa.us>

On Tue, 11 Apr 2000, Tom Lane wrote:
> "Andrew C.R. Martin" <a.c.r.martin@reading.ac.uk> writes:
> > My own particular problem simply pulls out an integer and a (text *)
> > from a varchar. It then goes away and does some calculations based on
> > these values and another external file (in fact it does a system() to
> > run an external program which does these calculations). It then build
> > a 'text' structure containing the result.
> 
> Hm.  I'm not too clear on why that would need to worry about either
> TupleTableSlot or GetAttributeByName ... shouldn't it be a simple
> function consuming a text Datum and producing another?

Errrmmm, just following the instructions in the docs:

Programmer's Manual, Chapter 4. Extensing SQL: Functins (page x414.htm), under
the C examples.

My function looks something like:


text *mppfunc(TUPLE tuple)
{
   text *attrib;
   int  resnum;
   bool isnull;
   char my_result[400];

   if(((attrib = (text *)GetAttributeByName(tuple, "substitution", &isnull))
       ==NULL) || isnull)
      return(pg_text("Invalid1"));
   strncpy(newres, VARDATA(attrib), 40);

   resnum = (int)GetAttributeByName(tuple, "codon", &isnull);
   if(isnull)
      return(pg_text("Invalid3"));

   /* Do some stuff here putting a result string in my_result */
   return(pg_text(my_result));
   
}

pg_text() is a little function to put a string into a PostgreSQL text data type.

Are you suggesting there is now an undocumented(?) easier way of doing this???

Best wishes,

Andrew

--
Dr. Andrew C.R. Martin          EMail:  a.c.r.martin@reading.ac.uk  (work)
Lecturer in Bioinformatics              andrew@stagleys.demon.co.uk (home)
University of Reading
Tel.: +44 (0)118 987 5123x7022  Fax:    +44 (0)118 931 0180



view thread (8+ messages)  latest in thread

Message-ID: <00041118092100.28482@sapc13.rdg.ac.uk>
Permalink:  ../00041118092100.28482@sapc13.rdg.ac.uk/
Also on:    postgresql.org/message-id/00041118092100.28482@sapc13.rdg.ac.uk

 · 

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-interfaces@postgresql.org
  Cc: a.c.r.martin@reading.ac.uk, tgl@sss.pgh.pa.us, interfaces@postgreSQL.org, docs@postgreSQL.org, hackers@postgreSQL.org
  Subject: Re: [HACKERS] Re: Bugs: Programming Language Functions
  In-Reply-To: <00041118092100.28482@sapc13.rdg.ac.uk>

* 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