classColumnDefinitionParser
final class ColumnDefinitionParser
Restricted visibility: declared "@visibility ZtdQuery\Platform\Sqlite". Code outside that scope must not name this declaration.
Parses column declarations, defaults, types and generated expressions.
Methods§
public function parseColumnDefinition(string $def): array{name: string, type: string|null, notNull: bool, primaryKey: bool, unique: bool, default: string|null, generatedExpression: string|null}|nullParse a single column definition.
Parameters
$def | string |
Returns
array{name: string, type: string|null, notNull: bool, primaryKey: bool, unique: bool, default: string|null, generatedExpression: string|null}|nullCalled from 1
Calls 11
- function-call
preg_matchline 26 - new SqliteParser line 30
- method-call SqliteParser::unquoteIdentifier() line 31
- function-call
trimline 36 - function-call
substrline 36 - function-call
strlenline 36 - method-call ColumnDefinitionParser::declaredType() line 37
- function-call
strtoupperline 39 - function-call
str_containsline 40 - static-call SqlTokenStream::tokenize() line 43
- static-call SqliteLexerProfile::create() line 43
public function leadingKeyword(string $sql): stringParses column declarations, defaults, types and generated expressions.
Parameters
$sql | string |
Returns
stringTest cases 1
Called from 2
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\ColumnDefinitionParser::declaredType() packages/ztd-query-sqlite/src/Schema/Create/ColumnDefinitionParser.php:132
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addDefinition() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:66
public function extractColumnType(string $rest): ?stringExtract the column type from the rest of a column definition.
Parameters
$rest | string |
Returns
?stringTest cases 1
Called from 1
public function parseColumnNameList(string $list): list<string>Parse a comma-separated column name list.
Parameters
$list | string |
Returns
list<string>Test cases 1
Called from 2
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addConstraint() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:84
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addConstraint() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:89
Calls 4
- new SqliteParser line 114
- function-call
explodeline 115 - function-call
trimline 117 - method-call SqliteParser::unquoteIdentifier() line 119
public function declaredType(string $rest): ?stringReturns the declared type before any column constraints.
Parameters
$rest | string |
Returns
?stringTest cases 1
Called from 1
Calls 3
- function-call
in_arrayline 132 - method-call ColumnDefinitionParser::leadingKeyword() line 132
- method-call ColumnDefinitionParser::extractColumnType() line 144
Test cases 13§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 5
ColumnDefinitionParserTest::testDeclaredTypeDistinguishesOmittedTypeAndConstraintscallsColumnDefinitionParserTest::testExtractColumnTypeRetainsPrecisionAndMultiwordNamescallsColumnDefinitionParserTest::testLeadingKeywordStopsAtPunctuationcallsColumnDefinitionParserTest::testParseColumnDefinitionPreservesColumnMetadatacallsColumnDefinitionParserTest::testParseColumnNameListUnquotesNamescalls
Other tests reaching this symbol 8
SqliteRewriterTestcallsStatementRewriterTestcallsTableDefinitionBuilderTestcallsSqliteSchemaParserTestcallsAddColumnResolverTestcallsTableMutationResolverTestcallsSqliteMutationResolverTestcallsSqliteSessionFactoryTestcalls
Relations§
Instantiated in 3
- new ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addDefinition() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:65
- new ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addConstraint() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:84
- new ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addConstraint() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:89
Method calls 4
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addDefinition() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:66
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addDefinition() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:71
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addConstraint() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:84
- method-call ZtdQuery\Platform\Sqlite\Schema\Create\TableDefinitionBuilder::addConstraint() packages/ztd-query-sqlite/src/Schema/Create/TableDefinitionBuilder.php:89