> 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


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to