Dave Matthews | 14 Mar 03:08 2007
Picon

aql error 810, Inconsistent value types

What does this error message mean?

// AQL error 810 around: 'l, m, p from s in'
//                              ^
// Inconsistent value types in table column 3
// Value type was 'g' and now the field evaluates to type 'f' in row 19822

What are value types g and f?

This comes from the following aql query, explorable at 
http://grain.jouy.inra.fr/cgi-bin/ace/custom/aqlInterface/graingenes :

select l, m, p
from s in class sequence where exists_tag s->dna_homol,
     l in s->probe->locus,
     m in l->map,
     p in m[2]

I routinely aql out every map position in the database using a different
query, but it gets them all with no errors, so this is strange.

This is using ace4_9t.

- Dave

-   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
David E. Matthews, PhD            USDA-ARS Plant Genome Database Curator
Cornell University                Email: matthews <at> greengenes.cit.cornell.edu
Department of Plant Breeding                          Phone: +1-607-255-9951 
409 Bradfield Hall                                      Fax: +1-607-255-6683
(Continue reading)

Dave Matthews | 14 Mar 18:25 2007
Picon

Re: aql error 810, Inconsistent value types

Hi jean,

> f is type float
> g is type tag
> 
> it means that in m[2] you had something heterogeneous
> the only way i see to produce that is that the model
> allowed either float or tag at this position

Aha!  You nailed it.  I have

?Locus  Location Map ?Map #map_position

?map_position Position Float
              Ends Left Float
                   Right Float

Changing the query to this fixes the problem:

select l, m, p
from s in class sequence where exists_tag s->dna_homol,
     l in s->probe->locus,
     m in l->map,
     p in m[Position]

> 1) do you have a suggestion to improve the error message

How about 
"Value type was 'tag' and now the field evaluates to type 'float' in row 19822"

(Continue reading)

Jean Thierry-Mieg | 14 Mar 17:28 2007
Picon

Re: aql error 810, Inconsistent value types


>What does this error message mean?
>
>// AQL error 810 around: 'l, m, p from s in'
>//                              ^
>// Inconsistent value types in table column 3
>// Value type was 'g' and now the field evaluates to type 'f' in row 19822
>
>What are value types g and f?
>
f is type float
g is type tag

it means that in m[2] you had something heterogeneous
the only way i see to produce that is that the model
allowed either float or tag at this position

either you did a read-model during the lifetime of the database
this does not erase the data, the dumper still works
the purpose of this is that we do not lose data in acedb
by reading a wrong model, we just loose access via queries
(direct query, table maker, aql, aceperl)
but the dumper survives

or the schema is complex and you should select on m[1]
to be sure that m[2] is a float

Maybe te schema is

?Sequence Map #map_info
(Continue reading)


Gmane