472,801 Members | 1,098 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,801 software developers and data experts.

functionality like Oracle's "connect by"

I know this question has been discussed, probably multiple times, but I
can't seem to access archives.postgresql.org today....

I need to select all the rows in a table with two fields: parent_id and
child_id that participate in the same logical "tree". In other words,
given an id value, I want to find where child_id = my-value, and then
retrieve the values in the tree above it.

The functionality I'm looking for is essentially the Oracle "connect
by". Does anything like this exist for postgresql? If not, does anybody
have a clever solution? (My not-so-clever first pass involved recursing
in my Java program, but the stack-space-abuse police are knocking on my
door....)

Again, apologies for asking something that's probably already been
discussed ad nauseum on this list...

- DAP
================================================== ====
David Parker Tazz Networks (401) 709-5130


---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Nov 23 '05 #1
2 1758

"David Parker" <dp*****@tazznetworks.com> writes:
The functionality I'm looking for is essentially the Oracle "connect
by". Does anything like this exist for postgresql?


Yes. In the contrib directory of the source is a directory named "tablefunc".
If you've installed from an distribution you might like for a
postgresql-contrib package or something like that.

It has a function that tries to do what you want:
connectby(text relname, text keyid_fld, text parent_keyid_fld
[, text orderby_fld], text start_with, int max_depth
[, text branch_delim])
- returns keyid, parent_keyid, level, and an optional branch string
and an optional serial column for ordering siblings
- requires anonymous composite type syntax in the FROM clause. See
the instructions in the documentation below.
I've never tried it though.

--
greg
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to ma*******@postgresql.org

Nov 23 '05 #2
David,

I suggest our search on postgresql resources:
http://www.pgsql.ru/db/pgsearch/inde...t+by%22+oracle
Oleg

On Mon, 30 Aug 2004, David Parker wrote:
I know this question has been discussed, probably multiple times, but I
can't seem to access archives.postgresql.org today....

I need to select all the rows in a table with two fields: parent_id and
child_id that participate in the same logical "tree". In other words,
given an id value, I want to find where child_id = my-value, and then
retrieve the values in the tree above it.

The functionality I'm looking for is essentially the Oracle "connect
by". Does anything like this exist for postgresql? If not, does anybody
have a clever solution? (My not-so-clever first pass involved recursing
in my Java program, but the stack-space-abuse police are knocking on my
door....)

Again, apologies for asking something that's probably already been
discussed ad nauseum on this list...

- DAP
================================================== ====
David Parker Tazz Networks (401) 709-5130
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend


Regards,
Oleg
__________________________________________________ ___________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: ol**@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Nov 23 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Jamie Burns | last post by:
I have written a Windows Service to access an Oracle database. A dialog box appears, prompting for user logon if the database is not accessable due to network problems I just want the connection...
1
by: Tamer Higazi | last post by:
Hi! I have problems creating joins between tables and to limit rows for a specified clolumn. I have 2 tables! employees departments I face the problems with the GROUP BY clause and i don't...
12
by: Mikito Harakiri | last post by:
I wonder if WITH RECURSIVE MaryAncestor(anc,desc) AS ( (SELECT parent as anc, child as desc FROM ParentOf WHERE desc = "Mary") UNION (SELECT A1.anc, A2.desc FROM MaryAncestor A1, MaryAncestor...
2
by: Hunter | last post by:
when I firstly ran "connect to dbname" command after "db2start", it spent me about 10 mins. I saw a process named "db2sync" that used 700M memory. The OS is Linux Advanced Server V2.1, Database...
3
by: EYIII | last post by:
Is it possible to retrieve the "created by" identity and "modified by" identity for a file (e.g. word doc, .pdf, report, etc) using .NET?
0
by: chico_001 | last post by:
I am doing some database testing and when I found a problem with the case sensitivity of "CONNECT TO". When "CONNECT to" is written with capital and small letters, a new db is not dropped and...
15
by: wizofaus | last post by:
I have a chunk of code which is essentially IDbCommand cmd = db.CreateCommand(); cmd.CommandText = "SELECT X, Y, Count(*) FROM Foo WHERE Z = 1 GROUP BY X, Y"; using (IDataReader reader =...
3
by: cberthu | last post by:
Hi all, Is it possible to have two connects in the same rexx script to different DB's? I have to get data form on DB (with specifics selects and filter out some values with RExx) and save the...
4
by: Adisc | last post by:
Hi, How can I run a query to fetch the hierarchy without using the command - connect by prior? I want to use this query by BO, which does not support the connect byqstart with option. thanks
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Sept 2023 starting at 18:00 UK time (6PM UTC+1) and finishing at about 19:15 (7.15PM) The start time is equivalent to 19:00 (7PM) in Central...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
How does React native implement an English player?
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.