cockroachdb / cockroachdb/cockroach

sqlsmith: use actual data for generating predicates

Open
#98,357 0 comments 0 reactions 0 assignees View on GitHub
C-enhancement T-sql-queries
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

Currently, whenever `sqlsmith` generates predicates, it simply uses randomly-generated datums. However, this can make those predicates less interesting if the random constants never match what we have in the database against which the stmts will execute. We should figure out a way to somehow use actual data from the tables to use as samples for random datums.

Jira issue: CRDB-25219

Contributor guide

Open the contributing guide

Research direction

Start by locating the sqlsmith predicate-generation entry points and the code that executes generated statements against database tables. Determine how actual table values could be sampled for predicate datums; done means generated predicates can use matching data from the target tables and produce more interesting executions.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, sql
Domain
databases, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.