classSqliteProvider
final class SqliteProvider
extends Base
@visibility public.Faker Provider for generating syntactically valid SQLite SQL statements.
This provider uses SQLite's official Lemon grammar (parse.y) to generate SQL that is syntactically valid. Note that generated SQL may not be semantically valid (tables/columns may not exist).
maxDepth selects shortest productions once the depth is reached; it is not a SQL length limit. The basic pipeline resolves lexical spaces without inserting comments. Optional clauses may be empty. Seed the supplied Faker generator to reproduce a run within the same package version.
$faker = \Faker\Factory::create();
$faker->addProvider(new \SqlFaker\Sqlite\SqliteProvider($faker));
$faker->integerLiteral(min: 42, max: 42) // => '42'Methods§
public function __construct(
Generator $generator,
string|null $version = null,
?GrammarCoverage $coverage = null,
)@visibility public.Register SQL formatters on the supplied Faker generator.
Parameters
$generator | Generator | Faker generator |
$version | string|null | SQLite version tag. Null for default. |
$coverage | ?GrammarCoverage |
$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker, 'sqlite-3.47.2');
$provider->integerLiteral(min: 42, max: 42) // => '42'new \SqlFaker\Sqlite\SqliteProvider(\Faker\Factory::create(), 'missing-version') // throws \RuntimeException: UnsupportedCalls 5
- static-call
Base::__construct()line 55 - method-call
Generator::addProvider()line 57 - static-call SqliteGrammar::resolveVersion() line 58
- static-call SqlGeneratorFactory::create() line 59
- static-call SqliteGrammar::load() line 59
public function planner(): PlanBuilder@visibility public.Prepares grammar analysis for constructing concrete generation plans.
Returns
$provider = new \SqlFaker\Sqlite\SqliteProvider(\Faker\Factory::create());
$plan = (new \SqlFaker\Generation\Choice\BytePlanCompiler())->compile('', $provider->planner());
$provider->generate($plan) === $provider->generate($plan) // => trueTest cases 1
Calls 1
- method-call SqlGenerator::planner() line 72
public function generate<TRequiresNonEmpty of bool>(GenerationPlan<TRequiresNonEmpty> $plan): (TRequiresNonEmpty is true ? non-empty-string : string)@visibility public.Generates through the same engine used by the convenience methods.
Parameters
$plan | GenerationPlan<TRequiresNonEmpty> |
Returns
(TRequiresNonEmpty is true ? non-empty-string : string)$provider = new \SqlFaker\Sqlite\SqliteProvider(\Faker\Factory::create());
$plan = \SqlFaker\Generation\Plan\GenerationPlan::all()->requiringNonEmpty()->withExpansionBudget(100);
$provider->generate($plan) !== '' // => trueTest cases 1
Called from 31
- method-call SqlFaker\Sqlite\SqliteProvider::sql() packages/sql-faker/src/Sqlite/SqliteProvider.php:110
- method-call SqlFaker\Sqlite\SqliteProvider::selectStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:126
- method-call SqlFaker\Sqlite\SqliteProvider::insertStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:142
- method-call SqlFaker\Sqlite\SqliteProvider::updateStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:158
- method-call SqlFaker\Sqlite\SqliteProvider::deleteStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:174
- method-call SqlFaker\Sqlite\SqliteProvider::createTableStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:190
- method-call SqlFaker\Sqlite\SqliteProvider::alterTableStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:206
- method-call SqlFaker\Sqlite\SqliteProvider::dropTableStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:222
- method-call SqlFaker\Sqlite\SqliteProvider::simpleStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:238
- method-call SqlFaker\Sqlite\SqliteProvider::expr() packages/sql-faker/src/Sqlite/SqliteProvider.php:254
- method-call SqlFaker\Sqlite\SqliteProvider::term() packages/sql-faker/src/Sqlite/SqliteProvider.php:270
- method-call SqlFaker\Sqlite\SqliteProvider::whereClause() packages/sql-faker/src/Sqlite/SqliteProvider.php:285
- method-call SqlFaker\Sqlite\SqliteProvider::orderByClause() packages/sql-faker/src/Sqlite/SqliteProvider.php:300
- method-call SqlFaker\Sqlite\SqliteProvider::limitClause() packages/sql-faker/src/Sqlite/SqliteProvider.php:315
- method-call SqlFaker\Sqlite\SqliteProvider::groupByClause() packages/sql-faker/src/Sqlite/SqliteProvider.php:330
- method-call SqlFaker\Sqlite\SqliteProvider::havingClause() packages/sql-faker/src/Sqlite/SqliteProvider.php:345
- method-call SqlFaker\Sqlite\SqliteProvider::fullname() packages/sql-faker/src/Sqlite/SqliteProvider.php:361
- method-call SqlFaker\Sqlite\SqliteProvider::withClause() packages/sql-faker/src/Sqlite/SqliteProvider.php:376
- method-call SqlFaker\Sqlite\SqliteProvider::foreignKeyConstraint() packages/sql-faker/src/Sqlite/SqliteProvider.php:394
- method-call SqlFaker\Sqlite\SqliteProvider::identifier() packages/sql-faker/src/Sqlite/SqliteProvider.php:410
- method-call SqlFaker\Sqlite\SqliteProvider::quotedIdentifier() packages/sql-faker/src/Sqlite/SqliteProvider.php:426
- method-call SqlFaker\Sqlite\SqliteProvider::stringLiteral() packages/sql-faker/src/Sqlite/SqliteProvider.php:442
- method-call SqlFaker\Sqlite\SqliteProvider::integerLiteral() packages/sql-faker/src/Sqlite/SqliteProvider.php:456
- method-call SqlFaker\Sqlite\SqliteProvider::decimalLiteral() packages/sql-faker/src/Sqlite/SqliteProvider.php:472
- method-call SqlFaker\Sqlite\SqliteProvider::insertFunctionUpsertStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:489
- method-call SqlFaker\Sqlite\SqliteProvider::multiDmlStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:513
- method-call SqlFaker\Sqlite\SqliteProvider::fullTextSearchStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:530
- method-call SqlFaker\Sqlite\SqliteProvider::temporaryTableStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:547
- method-call SqlFaker\Sqlite\SqliteProvider::viewStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:566
- method-call SqlFaker\Sqlite\SqliteProvider::generatedColumnStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:583
- method-call SqlFaker\Sqlite\SqliteProvider::foreignKeyCascadeStatement() packages/sql-faker/src/Sqlite/SqliteProvider.php:600
Calls 1
- method-call SqlGenerator::generate() line 92
public function sql(StatementRule|null $type = null, int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a syntactically valid SQLite SQL statement.
Parameters
$type | StatementRule|null | Statement type (null for random) |
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->sql(\SqlFaker\Sqlite\Generation\StatementRule::Select, maxDepth: 0);
preg_match('/\b(SELECT|VALUES)\b/i', $sql) // => 1Test cases 8
LexicalGrammarTest::testSupportedSqliteVersionBindsGrammarAndLexerProfileTogethercallsSqliteProviderTest::testGrammarDrivenOutputIsNonEmptycallsSqliteProviderTest::testSeededGenerationIsReproduciblecallsSqliteProviderTest::testSqlcallsSqliteProviderTest::testSqlWithAllStatementRulescallsSqliteProviderTest::testSqlWithMaxDepthcallsSqliteProviderTest::testSqlWithNullStatementRuleUsesRandomcallsSqliteProviderTest::testSqlWithStatementRulecalls
Calls 2
- method-call SqliteProvider::generate() line 110
- static-call GenerationPlans::statementOfType() line 110
public function selectStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite SELECT statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->selectStatement(maxDepth: 0);
preg_match('/\b(SELECT|VALUES)\b/is', $sql) // => 1Test cases 3
Calls 3
- method-call SqliteProvider::generate() line 126
- static-call GenerationPlans::statement() line 126
- class-const StatementRule::Select() line 126
public function insertStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite INSERT statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->insertStatement(maxDepth: 0);
preg_match('/\b(INSERT|REPLACE)\b/is', $sql) // => 1Test cases 2
Calls 3
- method-call SqliteProvider::generate() line 142
- static-call GenerationPlans::statement() line 142
- class-const StatementRule::Insert() line 142
public function updateStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite UPDATE statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->updateStatement(maxDepth: 0);
preg_match('/\bUPDATE\b/is', $sql) // => 1Test cases 2
Calls 3
- method-call SqliteProvider::generate() line 158
- static-call GenerationPlans::statement() line 158
- class-const StatementRule::Update() line 158
public function deleteStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite DELETE statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->deleteStatement(maxDepth: 0);
preg_match('/\bDELETE\b/is', $sql) // => 1Test cases 2
Calls 3
- method-call SqliteProvider::generate() line 174
- static-call GenerationPlans::statement() line 174
- class-const StatementRule::Delete() line 174
public function createTableStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite CREATE TABLE statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->createTableStatement(maxDepth: 0);
preg_match('/\bCREATE\b.*\bTABLE\b/is', $sql) // => 1Test cases 2
Calls 3
- method-call SqliteProvider::generate() line 190
- static-call GenerationPlans::statement() line 190
- class-const StatementRule::CreateTable() line 190
public function alterTableStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite ALTER TABLE statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->alterTableStatement(maxDepth: 0);
preg_match('/\bALTER\b.*\bTABLE\b/is', $sql) // => 1Test cases 2
Calls 3
- method-call SqliteProvider::generate() line 206
- static-call GenerationPlans::statement() line 206
- class-const StatementRule::AlterTable() line 206
public function dropTableStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite DROP TABLE statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->dropTableStatement(maxDepth: 0);
preg_match('/\bDROP\b.*\bTABLE\b/is', $sql) // => 1Test cases 2
Calls 3
- method-call SqliteProvider::generate() line 222
- static-call GenerationPlans::statement() line 222
- class-const StatementRule::DropTable() line 222
public function simpleStatement(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate any SQLite statement.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->simpleStatement(maxDepth: 0);
$sql !== '' // => trueTest cases 1
Calls 3
- method-call SqliteProvider::generate() line 238
- static-call GenerationPlans::statement() line 238
- class-const StatementRule::SimpleStatement() line 238
public function expr(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite expression.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->expr(maxDepth: 0);
$sql !== '' // => trueTest cases 1
Calls 2
- method-call SqliteProvider::generate() line 254
- static-call GenerationPlans::statement() line 254
public function term(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a simple SQLite expression (term).
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->term(maxDepth: 0);
$sql !== '' // => trueTest cases 1
Calls 2
- method-call SqliteProvider::generate() line 270
- static-call GenerationPlans::statement() line 270
public function whereClause(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite WHERE clause.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$provider->whereClause(maxDepth: 0) // => ''Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 285
- static-call GenerationPlans::statement() line 285
public function orderByClause(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite ORDER BY clause.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$provider->orderByClause(maxDepth: 0) // => ''Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 300
- static-call GenerationPlans::statement() line 300
public function limitClause(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite LIMIT clause.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$provider->limitClause(maxDepth: 0) // => ''Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 315
- static-call GenerationPlans::statement() line 315
public function groupByClause(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite GROUP BY clause.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$provider->groupByClause(maxDepth: 0) // => ''Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 330
- static-call GenerationPlans::statement() line 330
public function havingClause(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite HAVING clause.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$provider->havingClause(maxDepth: 0) // => ''Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 345
- static-call GenerationPlans::statement() line 345
public function fullname(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite full table name.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->fullname(maxDepth: 0);
$sql !== '' // => trueTest cases 1
Calls 2
- method-call SqliteProvider::generate() line 361
- static-call GenerationPlans::statement() line 361
public function withClause(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite WITH clause (CTE).
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$provider->withClause(maxDepth: 0) // => ''Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 376
- static-call GenerationPlans::statement() line 376
public function foreignKeyConstraint(int $maxDepth = PHP_INT_MAX): non-empty-string@visibility public.Generate a named SQLite foreign-key table constraint.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->foreignKeyConstraint(maxDepth: 0);
preg_match('/\bCONSTRAINT\b.*\bFOREIGN\b.*\bREFERENCES\b/is', $sql) // => 1Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 394
- static-call GenerationPlans::foreignKeyConstraint() line 394
public function identifier(int $maxDepth = PHP_INT_MAX): string@visibility public.Generate a SQLite identifier via grammar derivation.
Parameters
$maxDepth | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->identifier(maxDepth: 0);
$sql !== '' // => trueTest cases 2
Calls 2
- method-call SqliteProvider::generate() line 410
- static-call GenerationPlans::statement() line 410
public function quotedIdentifier(int $minLength = 1, int $maxLength = 128): string@visibility public.Generate a double-quote-quoted SQLite identifier.
Parameters
$minLength | int | |
$maxLength | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$token = $provider->quotedIdentifier(minLength: 4, maxLength: 4);
preg_match('/^"[a-z_][a-z0-9_]{3}"$/', $token) // => 1Test cases 3
Calls 2
- method-call SqliteProvider::generate() line 426
- static-call GenerationPlans::quotedIdentifier() line 426
public function stringLiteral(int $minLength = 1, int $maxLength = 255): string@visibility public.Generate a SQLite string literal.
Parameters
$minLength | int | |
$maxLength | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$token = $provider->stringLiteral(minLength: 4, maxLength: 4);
preg_match('/^\'[A-Za-z0-9_]{4}\'$/', $token) // => 1Test cases 3
Calls 2
- method-call SqliteProvider::generate() line 442
- static-call GenerationPlans::stringLiteral() line 442
public function integerLiteral(int $min = 1, int $max = PHP_INT_MAX): string@visibility public.Generate a SQLite integer literal.
Parameters
$min | int | |
$max | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$provider->integerLiteral(min: 42, max: 42) // => '42'Test cases 3
Calls 2
- method-call SqliteProvider::generate() line 456
- static-call GenerationPlans::integerLiteral() line 456
public function decimalLiteral(int $precision = 15, int $scale = 2): string@visibility public.Generate a SQLite decimal literal.
Parameters
$precision | int | |
$scale | int |
Returns
string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$token = $provider->decimalLiteral(precision: 5, scale: 2);
preg_match('/^[0-9]{1,3}\.[0-9]{2}$/', $token) // => 1Test cases 3
Calls 2
- method-call SqliteProvider::generate() line 472
- static-call GenerationPlans::decimalLiteral() line 472
public function insertFunctionUpsertStatement(int $maxDepth = 40): non-empty-string@visibility public.Generate an upsert whose update expression calls a function.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->insertFunctionUpsertStatement(maxDepth: 0);
preg_match('/\bINSERT\b.*\bCONFLICT\b.*\bUPDATE\b.*\(/is', $sql) // => 1Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 489
- static-call GenerationPlans::insertFunctionUpsertStatement() line 490
public function multiDmlStatement(int $maxDepth = 40): non-empty-string@visibility public.Generate two semicolon-terminated DML statements.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->multiDmlStatement(maxDepth: 0);
preg_match('/;.*;/is', $sql) // => 1Test cases 2
Calls 2
- static-call GenerationPlans::multiDmlStatement() line 508
- method-call SqliteProvider::generate() line 513
public function fullTextSearchStatement(int $maxDepth = 40): non-empty-string@visibility public.Generate a query using the dialect full-text search syntax.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->fullTextSearchStatement(maxDepth: 0);
preg_match('/\bSELECT\b.*\bMATCH\b/is', $sql) // => 1Calls 2
- method-call SqliteProvider::generate() line 530
- static-call GenerationPlans::fullTextSearchStatement() line 530
public function temporaryTableStatement(int $maxDepth = 40): non-empty-string@visibility public.Generate a temporary-table declaration.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->temporaryTableStatement(maxDepth: 0);
preg_match('/\bCREATE\b.*\bTEMP(?:ORARY)?\b.*\bTABLE\b/is', $sql) // => 1Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 547
- static-call GenerationPlans::temporaryTableStatement() line 548
public function viewStatement(int $maxDepth = 40): non-empty-string@visibility public.Generate a view declaration.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->viewStatement(maxDepth: 0);
preg_match('/\bCREATE\b.*\bVIEW\b.*\bAS\b/is', $sql) // => 1Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 566
- static-call GenerationPlans::viewStatement() line 566
public function generatedColumnStatement(int $maxDepth = 40): non-empty-string@visibility public.Generate a table with a generated column.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->generatedColumnStatement(maxDepth: 0);
preg_match('/\bGENERATED\b.*\bALWAYS\b.*\bAS\b/is', $sql) // => 1Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 583
- static-call GenerationPlans::generatedColumnStatement() line 583
public function foreignKeyCascadeStatement(int $maxDepth = 40): non-empty-string@visibility public.Generate a foreign key with cascading update and delete actions.
Parameters
$maxDepth | int |
Returns
non-empty-string$faker = \Faker\Factory::create();
$provider = new \SqlFaker\Sqlite\SqliteProvider($faker);
$faker->seed(7);
$sql = $provider->foreignKeyCascadeStatement(maxDepth: 0);
preg_match('/\bREFERENCES\b.*\bCASCADE\b.*\bCASCADE\b/is', $sql) // => 1Test cases 1
Calls 2
- method-call SqliteProvider::generate() line 600
- static-call GenerationPlans::foreignKeyCascadeStatement() line 600
Private surface 1§
Implementation details, listed for orientation only.
private SqlGenerator $sqlTest cases 58§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 56
SqliteProviderTest::testAlterTableOperationscallsSqliteProviderTest::testAlterTableStatementcallsSqliteProviderTest::testCreateTableContainsTablecallsSqliteProviderTest::testCreateTableStatementcallsSqliteProviderTest::testDecimalLiteralcallsSqliteProviderTest::testDecimalLiteralCustomPrecisioncallsSqliteProviderTest::testDecimalLiteralDefaultMatchesExplicitcallsSqliteProviderTest::testDeleteContainsDeleteKeywordcallsSqliteProviderTest::testDeleteStatementcallsSqliteProviderTest::testDropTableContainsDropTablecallsSqliteProviderTest::testDropTableStatementcallsSqliteProviderTest::testExprcallsSqliteProviderTest::testForeignKeyCascadeStatementcallsSqliteProviderTest::testForeignKeyConstraintcallsSqliteProviderTest::testFullnamecallsSqliteProviderTest::testFullTextSearchStatementDerivesMatchExpressionFromGrammarcallsSqliteProviderTest::testGeneratedColumnStatementcallsSqliteProviderTest::testGrammarDrivenOutputIsNonEmptycallsSqliteProviderTest::testGroupByClausecallsSqliteProviderTest::testHavingClausecallsSqliteProviderTest::testIdentifiercallsSqliteProviderTest::testInsertContainsIntocallsSqliteProviderTest::testInsertFunctionUpsertStatementDerivesFunctionExpressionFromGrammarcallsSqliteProviderTest::testInsertStatementcallsSqliteProviderTest::testIntegerLiteralcallsSqliteProviderTest::testIntegerLiteralCustomRangecallsSqliteProviderTest::testIntegerLiteralDefaultMatchesExplicitcallsSqliteProviderTest::testLimitClausecallsSqliteProviderTest::testMultiDmlStatementCanSelectEveryDmlFamilycallsSqliteProviderTest::testMultiDmlStatementDerivesTwoStatementBatchFromGrammarcallsSqliteProviderTest::testMultipleGenerationsReturnDifferentResultscallsSqliteProviderTest::testOrderByClausecallsSqliteProviderTest::testPlannerCompilesReusableInstructionsWithoutChangingTheDefaultStartcallsSqliteProviderTest::testQuotedIdentifiercallsSqliteProviderTest::testQuotedIdentifierCustomLengthcallsSqliteProviderTest::testQuotedIdentifierDefaultMatchesExplicitcallsSqliteProviderTest::testRegistersItselfWithTheFakerGeneratorcallsSqliteProviderTest::testSeededGenerationIsReproduciblecallsSqliteProviderTest::testSelectContainsSelectOrValuescallsSqliteProviderTest::testSelectStatementcallsSqliteProviderTest::testSimpleStatementReturnsNonEmptycallsSqliteProviderTest::testSqlcallsSqliteProviderTest::testSqlWithAllStatementRulescallsSqliteProviderTest::testSqlWithMaxDepthcallsSqliteProviderTest::testSqlWithNullStatementRuleUsesRandomcallsSqliteProviderTest::testSqlWithStatementRulecallsSqliteProviderTest::testStringLiteralcallsSqliteProviderTest::testStringLiteralCustomLengthcallsSqliteProviderTest::testStringLiteralDefaultMatchesExplicitcallsSqliteProviderTest::testTemporaryTableStatementcallsSqliteProviderTest::testTermcallsSqliteProviderTest::testUpdateContainsSetClausecallsSqliteProviderTest::testUpdateStatementcallsSqliteProviderTest::testViewStatementcallsSqliteProviderTest::testWhereClausecallsSqliteProviderTest::testWithClausecalls