Re: [GENERAL] Complex Recursive Query

2014-07-23 Thread John W Higgins
https://gist.github.com/wishdev/635f7a839877d79a6781 Sorry for the 3rd party site - just easier to get the layout correct. A CTE and dense_rank is all it takes. I am always amazed at what one can now pack into such small amounts of code. On Wed, Jul 23, 2014 at 4:00 PM, Jim Garrison wrote:

Re: [GENERAL] Complex Recursive Query

2014-07-23 Thread matt
I wouldn't do this with recursion; plain old iteration is your friend (yes, WITH RECURSIVE is actually iterative, not recursive...) The algorithm goes like this: 1. Extend your graph relation to be symmetric and transitive. 2. Assign a integer group id to each node. 3. Repeatedly join the node li

[GENERAL] Complex Recursive Query

2014-07-23 Thread Jim Garrison
I have a collection of relationship rows of the form Table: graph key1 varchar key2 varchar A row of the form ('a','b') indicates that 'a' and 'b' are related. The table contains many relationships between keys, forming several disjoint sets. All relationships are bi-directional, and both