[Acedb-soft] aql error 810, Inconsistent value types

Jean Thierry-Mieg via acedb%40net.bio.net (by mieg from ncbi.nlm.nih.gov)
Wed Mar 14 11:28:59 EST 2007


>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

#map_info Position float
          Neighbours Left ?Sequence
                     Right ?Sequence
                     
                  
.ace file:

Sequence s1
Map 2 Position 3.2

Sequence s2
Map 4 Neighbours Left s1


==

not the aql query will give a float 3.2 for s1
and a tag Left (type 'g') for s2

Table maker is this case would have imposed 'float'
and just export a void cell,
aql reports a detailled error message, which is nice,
although a bit cryptic, sorry
 
1) do you have a suggestion to improve the error message
2) the solu is to select on m[1]==Position
   or on selecting  p from m.Position or maybe m[Position]
   (i am never sure of the aql syntax, but something like this
   works)
   naming tags is more secure than offsets if you access
   constructed types, and more robust if the schema changes in the
   future and gets enriched
   
   

Please let me know if the explanation is clear enough


>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 from greengenes.cit.cornell.edu
>Department of Plant Breeding                          Phone: +1-607-255-9951 
>409 Bradfield Hall                                      Fax: +1-607-255-6683
>Ithaca, New York 14853, USA             GrainGenes: http://wheat.pw.usda.gov
>
>_______________________________________________
>Acedb mailing list
>Acedb from net.bio.net
>http://www.bio.net/biomail/listinfo/acedb



More information about the Acedb mailing list