Re: [GENERAL] cast issue in WITH RECURION - Mailing list pgsql-general

From k b
Subject Re: [GENERAL] cast issue in WITH RECURION
Date
Msg-id 1968805008.1109121.1501826059769@mail.yahoo.com
Whole thread Raw
In response to [GENERAL] cast issue in WITH RECURION  (k b <k_b0000@yahoo.se>)
List pgsql-general
> when i
 create a recursive query and try to add the distances i get
 a message:
 > ERROR:  recursive query
 "edges" column 3 has type numeric(7,3) in
 non-recursive term but type numeric overall.

 > My exercise is almost
 identical to the example in the docs:
 >
 WITH RECURSIVE search_graph(id, link, data, depth, path,
 cycle) AS (
 >        SELECT g.id,
 g.link, g.data, 1,
 >         
 ARRAY[g.id],
 >          false
 >        FROM graph g
 >      UNION ALL
 > 
       SELECT g.id, g.link,
 >     
   sg.data + g.data, -- altered section, data is
 numeric(7,3)
 >        sg.depth +
 1,
 >          path || g.id,
 >          g.id = ANY(path)
 >        FROM graph g, search_graph
 sg
 >        WHERE g.id = sg.link AND
 NOT cycle
 > )
 > SELECT
 * FROM search_graph;

 I believe the solution is rather simple; just
 cast(sg.data + g.data to numeric(7,3))

 Alban Hertroys


----------
Tried that and it did not work.
 cast(sg.data + g.data AS numeric(7,3)) but the same error is produced, even if i cast the g.data in the non-recursive
section.Same issue if i cast each column individually. 

Karl


pgsql-general by date:

Previous
From: Lucas Possamai
Date:
Subject: Re: [GENERAL] hot standby questions
Next
From: k b
Date:
Subject: Re: [GENERAL] cast issue in WITH RECURION