QEF home page
3. Qdsrv & Tree Navigation

In this page we introduce the QEF project database server (qdsrv) and use it to get to our demonstration project.


Table of Contents
Previous Page
Next Page

As mentioned in the previous page, QEF tends to result in a plethora of trees. Actually there are not much more than would be the case in a non QEF system, but due to the separation of trees, navigating from tree to tree becomes important.
qdsrv

The program qdsrv and its associated client programs are provided to maintain a database of project trees. Every time a tree is created, a record is created in the qdsrv database. The client program qds is used to query this database. To find the baseline trees for project cook:

% qds -pcook -tbaseline
26 cook 3.4     baseline dt     gobo    -       
        /p/cook/s3.4
50 cook 2.2     baseline dt     gobo    -       
        /p/cook/s2.2
The fields of the Qdsrv records
Field Description qds flag Example
1 Data Base Index -# 26
2 Project Name -p cook
3 Release Number -r 3.4
4 Tree Type -t baseline
5 Tree Owner -u dt
6 Host -h gobo
7 Configuration -c ­
8 RootPath N.A. /p/cook/s3.4
Using qdsrv and qd to chdir

To chdir to a desired tree, we can use the qds --d flag which reduces the output to the first directory of the Root Path. To ease its use we define a shell function or alias qd that runs qds and chdirs to the returned directory. So to chdir to the ctoe sub-directory of release 3.4 of our project, we use:

% qd -b -pcook -r3.4 ctoe  # --b equivalent to --tbaseline
Using 26 cook 3.4 baseline dt gobo - /p/cook/s3.4

% pwd  # just checking
/p/cook/s3.4/ctoe

% qd -26 ctoe  # a somewhat briefer equivalent

% qd -o ; pwd  # chdir to the object tree; --o == --tobject
Using 46 cook 3.4 object dt gobo - /g/dt/cook/obj
    /g/dt/cook/work /p/cook/s3.4
/g/dt/cook/obj/ctoe	# note we chdired to ctoe in new tree

There are actually many object trees, but they are for other projects, hosts, users, or releases. qd automatically applies additional queries to limit the listing to records for the current project, user, host, and release.

If the query does not resolve to a single directory, qds outputs the list of matched records and suggests that the user use an index as in:

% qd -46  # chdir to path #46

In fact most developers normally need to remember a few path numbers and tend just to use the indices, resorting the queries when they've forgotten the numbers or need to work on a new project. Our magic number for this tour is 46.


cook13.qh - 1.16 - 03/10/24 QEF home page Table of Contents Previous Page Next Page