Hi, 

        I'd like to get 1 or 0 from a select on a boolean field. 

How could I do ?

I tried the following rule, which I can't insert :

CREATE FUNCTION bool_to_int( boolean ) RETURNS integer AS '
        DECLARE
                my_bool ALIAS FOR $1 ;
        BEGIN
                -- Retourne 1 si true, 0 si false
                IF my_bool IS FALSE THEN 
                        RETURN 0 ;
                ELSIF my_bool IS TRUE THEN
                                RETURN 1 ;
                ELSE RETURN -1 ;
                END IF ;
        END ;
' LANGUAGE 'plpgsql';

CREATE RULE boolean_return AS ON SELECT TO DOCUMENT DO INSTEAD
        SELECT 
        document_id,
        workflow_id,
        type_document_id,
        image_id,
        theme_id,
        document_version,
        document_surtitre,
        document_titre,
        document_chapeau,
        document_synthese,
        document_corps,
        document_pdf,
        document_date_creation,
        document_mot_clef,
        (bool_to_int(document_online)) as document_online,
        bool_to_int(document_valid) as document_valid FROM document;


psql:cnambo_proc_stock.sql:69: ERROR:  select rule's target entry 15
 has different type from attribute document_online

Who could help me ?

S@S

-- 
 _Stéphane SCHILDKNECHT___________________________________
| AurorA-SAS 69-71, Av. Pierre Grenier 92100 BOULOGNE     |
| Tel : 01.58.17.03.20 Fax : 01.58.17.03.21               | 
| mailto:[EMAIL PROTECTED] - ICQ : 142504394 |
| "Free Markets have taught that innovation is best when  | 
|  ideas flow freely." Adam Smith                         |
|_________________________________________________________|




---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to [EMAIL PROTECTED] so that your
message can get through to the mailing list cleanly


Reply via email to