gold
SELECT category, group_concat(spent) FROM spend GROUP BY category ORDER BY category ASC
- category
- ascending
sha256:249327aa613f600d24ddb035ce97d70bd614e95f0920ea5310ebe1363eee1e2d
R-ORD GOLD-ONLY not-a-function-of-the-data
questions
What was spent in each category, amount by amount?
the hint the set supplies: the amounts spent refers to the spent column of every row of the category
This question was audited without a prediction beside it, so there is nothing to compare the gold with. The probes below read the gold alone.
SELECT category, group_concat(spent) FROM spend GROUP BY category ORDER BY category ASC
sha256:249327aa613f600d24ddb035ce97d70bd614e95f0920ea5310ebe1363eee1e2d
from evidence-gold.json, 3 rows
| categoryTEXT | group_concat(spent)TEXT |
|---|---|
| depot | 0.19,0.28,0.37 |
| field | 1000000.0,0.11,0.22,0.33,0.44,0.55,0.66,0.77,0.88 |
| yard | 0.46,0.55,0.64 |
A smell is a mechanical reason to read this gold statement again. It is a heuristic: it does not state that the statement is wrong, and a maintainer decides.
this statement orders by a text column holding only numbers, and ordering it as a number gives a different answer, so the gold may be sorting 9.5 above 10
{
"heuristic": true,
"keys": [
{
"key": "category",
"column": "spend.category",
"declared_type": "TEXT",
"not_applicable": null,
"census": {
"rows": 15,
"nulls": 0,
"empty_strings": 0,
"non_numeric": 15,
"pattern": "^-?[0-9]+(\\.[0-9]+)?$"
},
"every_value_is_numeric": false
}
]
}
this statement cuts its result at a LIMIT that does not decide which rows come back, so a different but equally correct statement can return other rows and score zero
the statement states no LIMIT
{
"heuristic": true,
"reason": "the statement states no LIMIT"
}
rerun over the same rows in another physical order this statement gives another answer, so its result depends on how the rows are stored and not only on the data
from smells.json, 3 rows
| depot | 0.28,0.19,0.37 |
| field | 0.66,0.33,0.77,0.55,0.44,0.11,0.22,0.88,1000000.0 |
| yard | 0.64,0.55,0.46 |
{
"heuristic": true,
"rule": "R-ORD",
"baseline_result_hash": "sha256:249327aa613f600d24ddb035ce97d70bd614e95f0920ea5310ebe1363eee1e2d",
"baseline_result": {
"columns": [
{
"name": "category",
"declared_type": "TEXT"
},
{
"name": "group_concat(spent)",
"declared_type": "TEXT"
}
],
"row_count": 3,
"truncated": false,
"rows_shown": 3,
"rows": [
[
{
"type": "str",
"value": "depot"
},
{
"type": "str",
"value": "0.19,0.28,0.37"
}
],
[
{
"type": "str",
"value": "field"
},
{
"type": "str",
"value": "1000000.0,0.11,0.22,0.33,0.44,0.55,0.66,0.77,0.88"
}
],
[
{
"type": "str",
"value": "yard"
},
{
"type": "str",
"value": "0.46,0.55,0.64"
}
]
],
"result_hash": "sha256:249327aa613f600d24ddb035ce97d70bd614e95f0920ea5310ebe1363eee1e2d"
},
"planner_statistics": {},
"shuffle": {
"seed": "1",
"row_limit": 300000,
"tables": [
"spend"
],
"tables_not_shuffled": [],
"tables_skipped_for_size": {},
"tables_not_reached_by_a_copy": {
"main.y": "the statement names this table's schema, and a name that states its schema is read from that schema whatever TEMP holds, so the rerun reads this table and not a copy of it"
}
},
"shuffled_copies": {
"run": true,
"verdict": "not_equal",
"differs": true,
"result_hash": "sha256:d65d173fb4451cf2c500b1c6f1865e3e296e7361d1a6fed76e316fa1321d4910",
"result": {
"columns": [
{
"name": "category",
"declared_type": "TEXT"
},
{
"name": "group_concat(spent)",
"declared_type": "TEXT"
}
],
"row_count": 3,
"truncated": false,
"rows_shown": 3,
"rows": [
[
{
"type": "str",
"value": "depot"
},
{
"type": "str",
"value": "0.28,0.19,0.37"
}
],
[
{
"type": "str",
"value": "field"
},
{
"type": "str",
"value": "0.66,0.33,0.77,0.55,0.44,0.11,0.22,0.88,1000000.0"
}
],
[
{
"type": "str",
"value": "yard"
},
{
"type": "str",
"value": "0.64,0.55,0.46"
}
]
],
"result_hash": "sha256:d65d173fb4451cf2c500b1c6f1865e3e296e7361d1a6fed76e316fa1321d4910"
}
},
"plan_variant": {
"run": false,
"reason": "the plan variant was not asked for"
}
}
this statement returns the same whole row more than once and never says DISTINCT, so a statement answering the same question once per row disagrees on multiplicity alone
{
"heuristic": true,
"rows": 3,
"distinct_rows": 3,
"repeated_rows": 0,
"largest_repeat": 1,
"result_bounded": false,
"distinct_stated": false,
"set_operation": false
}
SELECT category, group_concat(spent) FROM spend GROUP BY category ORDER BY category ASC
result_hash sha256:249327aa613f600d24ddb035ce97d70bd614e95f0920ea5310ebe1363eee1e2d recomputed from this JSON: match
record_hash sha256:32284bcf6002dfd10ae08d6d7b66eeef831c27d5d837dae5583a8ca82a212a9f recomputed from this JSON: match
from evidence-gold.json, 3 rows
| categoryTEXT | group_concat(spent)TEXT |
|---|---|
| depot | 0.19,0.28,0.37 |
| field | 1000000.0,0.11,0.22,0.33,0.44,0.55,0.66,0.77,0.88 |
| yard | 0.46,0.55,0.64 |
re-run this statement read-only against SQLite 3.53.1 | file=/tmp/attestql-site-sandbox/demo/fixture.sqlite | size=69632 under the session settings and over the data this record's fixture digest names, and compare the two results under R-ORD