All items 150

Interfaces 24§

ExecuteResultZtdQueryResult of a ZTD statement execution.
ConnectionInterfaceZtdQuery\ConnectionMinimal connection interface for ZTD layer.
StatementInterfaceZtdQuery\ConnectionMinimal statement interface for ZTD layer.
CastRendererZtdQuery\PlatformRenders platform-specific CAST expressions.
CopySupportZtdQuery\PlatformHow a dialect writes COPY, where it has one at all.
ErrorClassifierZtdQuery\PlatformInterface for classifying database errors by platform.
IdentifierQuoterZtdQuery\PlatformQuotes SQL identifiers using platform-specific quoting characters.
ParameterBindingCompilerZtdQuery\PlatformWrites a statement and its values in the form a driver will take.
ResultColumnTypeResolverZtdQuery\PlatformReads the type a driver reports for a result column.
SchemaParserZtdQuery\PlatformParses DDL SQL into a structured TableDefinition.
SchemaReflectorZtdQuery\PlatformContract for obtaining schema metadata from a live database.
SessionFactoryZtdQuery\PlatformFactory for creating Session instances configured for a specific database platform.
SqlPlaceholderEscaperZtdQuery\PlatformWrites a statement so a driver reads no placeholder that was not meant.
ValueRendererZtdQuery\PlatformWrites a PHP value as the SQL expression a dialect would read it back from.
ViewReflectorZtdQuery\PlatformReads the views a database has, and what each of them selects from.
RewriteStateCommitterZtdQuery\RewriteCommits rewrite-time reservations only after simulated execution succeeds.
SqlRewriterZtdQuery\RewriteTurns a statement into the plan ZTD will carry out instead of it.
SqlTransformerZtdQuery\RewriteRewrites a statement so that it reads the shadow instead of the database.
DataMutationZtdQuery\Shadow\MutationMarker for mutations that can change rows participating in referential integrity.
ShadowMutationZtdQuery\Shadow\MutationWhat a statement would do to the shadow.
ResultSetMutationZtdQuery\Shadow\Mutation\RowMutation whose schema depends on the executed query's result metadata.
UpsertLiteralSourceZtdQuery\Shadow\Mutation\UpsertPreserves a literal supplied through the public expression API without coercion.
TransactionStatementParserZtdQuery\SqlReads a statement as what it does to a transaction, where that is what it is.
TransactionTargetZtdQuery\SqlWhatever a transaction statement is carried out against.

Classes 113§

GenericExecuteResultZtdQueryGeneric implementation of ExecuteResult.
ResultSelectRunnerZtdQueryExecutes result-select queries and returns rows.
RewriteRefusalZtdQueryWhat a session makes of a statement the rewriter would not take.
SessionZtdQueryAggregates ZTD session state and core collaborators.
SqlBehaviorRuleZtdQuery\ConfigRepresents a single SQL behavior rule with pattern and associated behavior.
ZtdConfigZtdQuery\ConfigConfiguration for ZTD behavior.
ResultColumnZtdQuery\ConnectionDriver-reported metadata for one result-set column.
ResultSetZtdQuery\ConnectionBuffered rows together with metadata that remains available for an empty result.
DatabaseExceptionZtdQuery\Connection\ExceptionDatabase exception that wraps driver-specific errors.
ColumnAlreadyExistsExceptionZtdQuery\ExceptionException thrown when attempting to add a column that already exists.
ColumnNotFoundExceptionZtdQuery\ExceptionException thrown when a referenced column does not exist.
DuplicateKeyExceptionZtdQuery\ExceptionException thrown when a PRIMARY KEY or UNIQUE constraint is violated.
ForeignKeyViolationExceptionZtdQuery\ExceptionException thrown when a FOREIGN KEY constraint is violated.
InvalidDefinitionExceptionZtdQuery\ExceptionRejects invalid lexical, schema, or expression definitions at their public boundary.
MissingPrimaryKeyExceptionZtdQuery\ExceptionException thrown when an UPDATE result cannot be matched to a shadow row.
NotNullViolationExceptionZtdQuery\ExceptionException thrown when a NOT NULL constraint is violated.
SchemaNotFoundExceptionZtdQuery\ExceptionException thrown when a referenced table does not exist.
SimulationExceptionZtdQuery\ExceptionBase type for failures produced by ZTD simulation rather than the driver.
SqlParseExceptionZtdQuery\ExceptionException thrown when SQL parsing fails due to syntax errors.
TableAlreadyExistsExceptionZtdQuery\ExceptionException thrown when attempting to create a table that already exists.
UnknownSchemaExceptionZtdQuery\ExceptionException thrown when a query references unknown tables or columns.
UnsupportedSqlExceptionZtdQuery\ExceptionRefuses a statement ZTD cannot simulate.
CopyTargetZtdQuery\PlatformWhat a COPY statement is written against.
MissingResultColumnTypeResolverZtdQuery\PlatformThe resolver a session has when no platform gave it one.
InsertRowProjectionZtdQuery\RewriteWhat one column of a rewritten INSERT ... VALUES will read back as.
InsertRowProjectionPlannerZtdQuery\RewriteWorks out what each column of a rewritten INSERT ... VALUES reads back as.
InsertSelectProjectionZtdQuery\RewriteThe insert select projection.
InsertSelectProjectionPlannerZtdQuery\RewriteWorks out what each column of a rewritten INSERT ... SELECT reads back as.
MultiRewritePlanZtdQuery\RewriteRepresents the rewrite outcome for multiple SQL statements.
ReturningProjectionZtdQuery\RewriteA dialect-neutral projection of mutation rows returned to the client.
RewritePlanZtdQuery\RewriteRepresents the rewrite outcome for a single SQL statement.
ShadowIdentityAllocatorZtdQuery\RewriteHands out the identity values a database would have assigned.
ColumnDeclaration public APIZtdQuery\SchemaHow a column was declared: the family it belongs to, and the platform's own words for it.
RowSetZtdQuery\SchemaImmutable snapshot of rows received from a driver or fixture provider.
SchemaRegistryZtdQuery\SchemaStores CREATE TABLE definitions keyed by table name.
TableDefinitionZtdQuery\SchemaStructured representation of a table's schema metadata.
TableDefinitionRegistryZtdQuery\SchemaStores TableDefinition instances keyed by table name.
ViewDefinitionZtdQuery\SchemaOne view: the statement it stands for, and what that reaches.
ViewDefinitionSetZtdQuery\SchemaThe views a database has, in an order they can be created in.
CandidateKeyConflictZtdQuery\Schema\KeyIdentifies the existing row and candidate key responsible for a conflict.
CandidateKeyMatchZtdQuery\Schema\KeyReads what a row carries in a candidate key, and tells when another row repeats it.
CandidateKeySetZtdQuery\Schema\KeyRelational candidate keys used to detect INSERT conflicts.
ForeignKeyDefinitionZtdQuery\Schema\KeyOne foreign key: which columns point where, and what happens when the parent moves.
PartialUniqueIndexZtdQuery\Schema\KeyA unique index whose candidate rows are restricted by a SQL predicate.
TablePartitionKeyZtdQuery\Schema\PartitionWhat a table's division into partitions is by.
TablePartitionRelationZtdQuery\Schema\PartitionWhat makes one table a partition of another.
TablePartitioningZtdQuery\Schema\PartitionPredicates that select rows belonging to named table partitions.
CascadedChildrenZtdQuery\ShadowThe rows of one child table as a cascade leaves them.
FollowedConstraintZtdQuery\ShadowOne constraint being followed out from a parent, and what to say of it.
ForeignKeyCascadeZtdQuery\ShadowApplies to one child table what happened to its parent.
ForeignKeyEndsZtdQuery\ShadowAnswers which columns of the parent a foreign key points at.
ForeignKeyIntegrityZtdQuery\ShadowRefuses a shadow in which some child references a parent that is not there.
ParentKeyLookupZtdQuery\ShadowReports whether the row a foreign key points at is still there.
ReferentialIntegrityEnforcerZtdQuery\ShadowCarries what a statement did outward through the constraints that declare it.
ShadowApplicationZtdQuery\ShadowWrites one simulated statement into the shadow, all of it or none of it.
ShadowSavepointZtdQuery\ShadowEverything a transaction would have to put back, as it was at one moment.
ShadowStore public APIZtdQuery\ShadowHolds in-memory shadow rows for tables.
ShadowTransactions public APIZtdQuery\ShadowKeeps the shadow at the point each open transaction could go back to.
TableTransitionsZtdQuery\ShadowWorks out what a statement did to each table, by comparing the two shadows.
ConflictSearchZtdQuery\Shadow\MutationFinds the row an incoming row would collide with, where a clause narrows which.
MutationImpactZtdQuery\Shadow\MutationDerives observable execution metadata from a shadow-state transition.
MutationRowIdentityZtdQuery\Shadow\MutationCarries the key a row had, alongside the key it has.
RowConstraintsZtdQuery\Shadow\MutationRefuses a row the table would not have accepted.
UpsertExpressionZtdQuery\Shadow\MutationA scalar expression from an UPSERT assignment, in no particular dialect.
UpsertMutationZtdQuery\Shadow\MutationApplies INSERT ... ON DUPLICATE KEY UPDATE (UPSERT) to the shadow store.
UpsertMutationRowZtdQuery\Shadow\MutationNames the columns an UPSERT carries its assignment values under.
UpsertUpdateZtdQuery\Shadow\MutationWhat an UPSERT does to a row it found a conflict on.
DeleteMutationZtdQuery\Shadow\Mutation\RowApplies DELETE result rows to the shadow store.
InsertMutationZtdQuery\Shadow\Mutation\RowApplies INSERT result rows to the shadow store.
MultiDeleteMutationZtdQuery\Shadow\Mutation\RowApplies multi-table DELETE operation to the shadow store. This mutation handles DELETE statements that target multiple tables.
MultiTableMutationRowZtdQuery\Shadow\Mutation\RowNames the columns a multi-table statement carries its per-table values under.
MultiTableMutationTargetZtdQuery\Shadow\Mutation\RowOne table a statement writing to several of them writes to.
MultiUpdateMutationZtdQuery\Shadow\Mutation\RowApplies multi-table UPDATE operation to the shadow store. This mutation handles UPDATE statements that target multiple tables.
ReplaceMutationZtdQuery\Shadow\Mutation\RowApplies REPLACE INTO operation to the shadow store. REPLACE deletes the existing row and inserts the new one.
UpdateMutationZtdQuery\Shadow\Mutation\RowApplies UPDATE result rows to the shadow store.
CreateTableAsSelectMutationZtdQuery\Shadow\Mutation\TableApplies CREATE TABLE ... AS SELECT ... operation to the virtual schema. This mutation creates a new table with structure and data from SELECT.
CreateTableLikeMutationZtdQuery\Shadow\Mutation\TableApplies CREATE TABLE ... LIKE ... operation to the virtual schema. This mutation copies the TableDefinition from an existing table to a new table.
CreateTableMutationZtdQuery\Shadow\Mutation\TableApplies CREATE TABLE operation to the virtual schema. This mutation registers a new table in the TableDefinitionRegistry.
DropTableMutationZtdQuery\Shadow\Mutation\TableApplies DROP TABLE operation to the virtual schema. This mutation marks a table as removed from the virtual schema and clears its rows.
MultiTruncateMutationZtdQuery\Shadow\Mutation\TableApplies a single TRUNCATE statement to every target shadow table.
SynchronizeMutationZtdQuery\Shadow\Mutation\TableReplaces a table with a database-evaluated complete result set.
TruncateMutationZtdQuery\Shadow\Mutation\TableApplies TRUNCATE operation to the shadow store by clearing all rows.
UpsertColumnZtdQuery\Shadow\Mutation\UpsertReads a column off a row the way SQL names one.
UpsertComparisonZtdQuery\Shadow\Mutation\UpsertCompares two values the way a database does it.
UpsertLiteralZtdQuery\Shadow\Mutation\UpsertRetains the type and identity of one expression literal.
UpsertNumberZtdQuery\Shadow\Mutation\UpsertDoes arithmetic the way a database does it, over the values a row carries.
UpsertOperatorZtdQuery\Shadow\Mutation\UpsertWhat one operator stands for, once its operands have been worked out.
UpsertTruthZtdQuery\Shadow\Mutation\UpsertAnswers whether a value counts as true, in SQL's three-valued logic.
RowChangeZtdQuery\Shadow\RowOne row as it was, and as it became.
RowMatchZtdQuery\Shadow\RowFinds a row among rows, by the columns that identify it.
RowMultisetZtdQuery\Shadow\RowRows counted with their repeats: what one set of rows has that another does not.
RowPairingZtdQuery\Shadow\RowWhich rows of a shadow before are which rows of the shadow after.
TableTransitionZtdQuery\Shadow\RowWhat happened to one table, as the rows themselves rather than as a count.
StatementSimulatorZtdQuery\SimulatorExecutes rewritten statements and applies shadow mutations for exec().
LexicalDelimitersZtdQuery\SqlRefuses lexical data a scanner could not use.
LexicalPatternZtdQuery\SqlReads a regular expression against a position in a statement.
SqlIdentifierComponentZtdQuery\SqlReads one part of a name out of the tokens a statement was written as.
SqlKeywordSequenceZtdQuery\SqlFinds where a run of keywords was written, at the level of the statement itself.
SqlLexerProfileZtdQuery\SqlEverything the neutral scanner needs to know about one dialect's spelling.
SqlToken public APIZtdQuery\SqlOne lexeme, with where it was written and how deeply it was nested.
SqlTokenScannerZtdQuery\SqlReads a statement into the lexemes it is written as, losing nothing.
SqlTokenStreamZtdQuery\SqlLossless SQL token stream for structure-aware clause operations.
TransactionStatementZtdQuery\SqlA structure-aware transaction-control statement.
SqlCommentProfileZtdQuery\Sql\ProfileHow one dialect writes a comment.
SqlParameterProfileZtdQuery\Sql\ProfileHow one dialect writes a placeholder for a value the driver will bind.
SqlQuoteProfileZtdQuery\Sql\ProfileHow one dialect closes a run of text it opened with a quote.
SqlSymbolProfileZtdQuery\Sql\ProfileHow one dialect spells what is written plainly.
SqlBlockCommentReaderZtdQuery\Sql\ReaderReads a block comment, opening to closing.
SqlDelimitedReaderZtdQuery\Sql\ReaderReads what a pair of delimiters closes: strings and quoted identifiers.
SqlLexemeZtdQuery\Sql\ReaderWhat a reader made of the statement at an offset, and where it left off.
SqlParameterReaderZtdQuery\Sql\ReaderReads a placeholder standing in for a value the driver will bind.
SqlTriviaReaderZtdQuery\Sql\ReaderReads what carries no meaning of its own: whitespace and comments.
SqlWordReaderZtdQuery\Sql\ReaderReads what is written plainly: a bare word or a number.

Enums 13§

UnknownSchemaBehaviorZtdQuery\ConfigDefines how queries referencing unknown tables/columns should be handled.
UnsupportedSqlBehaviorZtdQuery\ConfigDefines how unsupported SQL statements should be handled.
AffectedRowsModeZtdQuery\RewriteObservable affected-row convention for a rewritten statement.
QueryKindZtdQuery\RewriteWhat ZTD decided to do with a statement.
ColumnTypeFamilyZtdQuery\SchemaPlatform-independent column type family.
IdentityGenerationStrategyZtdQuery\Schema\KeyHow a database decides the next value of a numbered column.
ReferentialActionZtdQuery\Schema\KeyWhat a foreign key says should happen when the row it points at moves.
TablePartitionStrategyZtdQuery\Schema\PartitionHow a table's rows are divided between its partitions.
ShadowTableStateZtdQuery\ShadowDescribes how much table context is available in the shadow store.
UpsertColumnSourceZtdQuery\Shadow\MutationWhich of the two rows an UPSERT assignment reads a column from.
UpsertExpressionKindZtdQuery\Shadow\MutationWhat one node of an UPSERT assignment expression is.
SqlTokenKindZtdQuery\SqlLexical categories needed for lossless SQL structure inspection.
TransactionOperationZtdQuery\SqlWhat a transaction statement does to the shadow.