All pastes #910549 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-02-20 00:45 UTC
rendered paste body
mail=> \d messagedata
                                   Table "public.messagedata"
     Column     |            Type             |                    Modifiers                    
----------------+-----------------------------+-------------------------------------------------
 id             | bigint                      | default nextval('messagedata_id_seq'::regclass)
 mailinglist_id | bigint                      | 
 messageid      | character varying           | 
 subject        | character varying           | 
 sender         | character varying           | 
 date           | timestamp without time zone | 
 subject_indexx | tsvector                    | 
Indexes:
    "messagedata_idx_date" btree (date)
    "messagedata_idx_date_mailinglist" btree (date, mailinglist_id)
    "messagedata_idx_id" btree (id)
    "messagedata_idx_mailinglist" btree (mailinglist_id)
    "messagedata_idx_messageid" btree (messageid)
    "messagedata_subject_idxx" gin (subject_indexx)
Triggers:
    messagedata_insert_trigger AFTER INSERT ON messagedata FOR EACH STATEMENT EXECUTE PROCEDURE messagedata_trigger()


mail=> Create or replace FUNCTION messagedata_trigger(subject) RETURNS trigger
    AS $$                                                      
    begin
    new.subject_indexx := setweight(to_tsvector('pg.catalog.english', coalesce(new.subject,'')), 'A');
    return new;
    end
    $$
        LANGUAGE plpgsql;


mail=> insert into messagedata (subject) values('Foo');
ERROR:  record "new" is not assigned yet
DETAIL:  The tuple structure of a not-yet-assigned record is indeterminate.
CONTEXT:  PL/pgSQL function "messagedata_trigger" line 2 at assignment