two AQL queries

Hamish McWilliam Hamish.McWilliam at bbsrc.ac.uk
Fri Aug 27 08:34:45 EST 1999


A little play with it suggests the following:

> I've been trying to get my feet wet with AQL in ace.4_7l.  Running into some
> problems.  Don't know if they're bug reports or just needing syntax help.
> 
> 1. How to specify field positions after the tag.
> 2. How to get more than two columns in the result.  Whatever I ask for in
>    the select statement, seems like all I get is the first and the last.
> 
> On #1:  At the following prompt:
> 
> : % aceclient genome.cornell.edu -port 2020
> : acedb at genome.cornell.edu>
> 
> the following queries give the results indicated:
> 
> : select L, L->Variation_External_DB_Keys[0] \
> : from L in class Locus \
> : where L->Variation_External_DB_Keys
> 
> Dandy, correct.
> 
> : select L, L->Variation_External_DB_Keys[1] \
> : from L in class Locus \
> : where L->Variation_External_DB_Keys
> 
> // 0 Active Objects

The following query gives the desired result.

aql select a, a->Variation_External_DB_Keys \
from a in class Locus where a->Variation_External_DB_Keys[0]

The major change is making the where clause look for the tag, and not
the data item.

This is equivalent to:

aql select a, a->Variation_External_DB_Keys[1] \
from a in class Locus where a->Variation_External_DB_Keys[0]

To get to the other tags just replace the 1 with the relevant value (2
or 3 in this case).

So far so good.

The strange column behaviour.

Unless I am completely missing something, there is a problem with the
column behaviour. The following queries illustrate this:

aql select a, a->Variation_External_DB_Keys[1], \
a->Variation_External_DB_Keys[2], a->Variation_External_DB_Keys[3] \
from a in class Locus where a->Variation_External_DB_Keys[0]

Should give a four column table, however it actually gives only one
column, the first one.

In all cases where there is more than one
a->Variation_External_DB_Keys[n] (where n > 0) in the select, the
a->Variation_External_DB_Keys[n] columns are not displayed, however all
a->Variation_External_DB_Keys[0] columns are displayed.

aql select a, a->Variation_External_DB_Keys[3], \
a->Variation_External_DB_Keys[2], a->Variation_External_DB_Keys[1] \
from a in class Locus where a->Variation_External_DB_Keys[0]

Should give a four column table, you actually get a two column table.
The two columns are a, a->Variation_External_DB_Keys[3] in this case. As
before a->Variation_External_DB_Keys[0] will still be displayed.

So it looks like there is something wrong with the support for multiple
a->Variation_External_DB_Keys[n] columns.

-- 
=====================================================================
Hamish P. McWilliam
Brassica and Oilseeds Research
John Innes Center
Norwich Research Park
Colney Lane
Norwich
NR4 7UH

Tel: 01603-452571 x2553
---------------------------------------------------------------------
God invented Brownian motion to stir his coffee.
=====================================================================




More information about the Acedb mailing list