Re: jtree and sql queries - Mailing list pgsql-jdbc

From Roland Walter
Subject Re: jtree and sql queries
Date
Msg-id 454BD0FC.1070507@gmx.net
Whole thread Raw
In response to jtree and sql queries  (Luca Ferrari <fluca1978@infinito.it>)
List pgsql-jdbc
Luca Ferrari schrieb:
> Hi all,
> I'm just wondering if someone has already bound a JTree to a set of sql
> queries. I explain it better: I've got  a person table, a skill table and a
> role table. Each person can play one or more role, and can have one or more
> skill. I'd like to show to the user the result of the query as a tree:
> person
> +- roles
>    +- role1
>     +- role2
>  +skills
>     +- skill1
>     +- skill2
> ....
>
> As you can imagine, the difficult is to bind each node tree to its table and
> to a specific query. For now I've bound each node to its table and its key
> value (with bound I mean that from the node I can know which table and key I
> must use to find the row in the database), but my difficult now is to refresh
> the tree each time the user makes a changes to the database. Unlike the use
> of simple tables, building the tree is more complex, because more queries
> must be performed, so I was wondering if someone out there has already
> something similar and can suggest me.
>
> Thanks,
> Luca

I had once similiar problem. I used one statement with left outer joins
that queried all tables connected with the nodes. The values of the row
were inserted into the tree. First checked if the first value exists on
his level, if it did not I created a new node, elsewhile I checked all
subnodes of that node for the second value. The algorithm was recursive.
If the database changed I built the whole tree again. Not very
performant but was sufficient for results with about a few thousand rows.

I would only build the tree once with one query. All changes of the user
on the tree might create insert or update statements but the tree would
not be build again but only modified according to the changes. But this
works only if there are no concurrent changes on the tables. You should
consider putting the modification into a transaction then.

Regards,
Roland.

pgsql-jdbc by date:

Previous
From: Luca Ferrari
Date:
Subject: jtree and sql queries
Next
From: William Harris
Date:
Subject: using a SSL connection via WebStart