tessl install tessl/golang-gorm-io--gorm@1.31.0Full-featured ORM library for Golang with associations, hooks, transactions, migrations, and developer-friendly chainable API
Agent Success
Agent success rate when using this tile
81%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.13x
Baseline
Agent success rate without this tile
72%
{
"context": "This criteria evaluates how effectively an engineer uses GORM's data scanning and type conversion capabilities to retrieve database records and convert them into various Go data structures (structs, maps, aggregated results).",
"type": "weighted_checklist",
"checklist": [
{
"name": "Uses Rows() method",
"description": "Uses db.Rows() or db.Model().Rows() to obtain *sql.Rows for manual iteration in GetUserRecords implementation",
"max_score": 15
},
{
"name": "Uses ScanRows()",
"description": "Correctly uses db.ScanRows(rows, &user) to scan each row into a User struct with automatic type conversion in GetUserRecords",
"max_score": 20
},
{
"name": "Handles row iteration",
"description": "Properly iterates through rows using rows.Next() and handles rows.Close() or defers it appropriately",
"max_score": 10
},
{
"name": "Scans to maps",
"description": "Uses Scan() or ScanRows() with map[string]interface{} destination type in GetUserMap to retrieve dynamic column-value mappings",
"max_score": 20
},
{
"name": "Queries aggregated data",
"description": "Constructs an appropriate GORM query using Select() with COUNT(), SUM(), and AVG() functions for GetAggregatedStats",
"max_score": 15
},
{
"name": "Scans aggregated results",
"description": "Uses Scan() or Row().Scan() to convert aggregated query results into the Stats struct fields with proper type handling",
"max_score": 15
},
{
"name": "Type conversion handling",
"description": "Demonstrates proper handling of type conversions (uint, int, int64, float64, string) across different scanning scenarios",
"max_score": 5
}
]
}