Uses of Class
dev.frostlake.storage.Row
Packages that use Row
Package
Description
-
Uses of Row in dev.frostlake.executor
Methods in dev.frostlake.executor that return types with arguments of type RowModifier and TypeMethodDescriptionSetOperations.applyDistinct(List<Row> rows) Apply DISTINCT to remove duplicate rows (first occurrence kept, order preserved) — O(n) via a hash set on normalized row keys.SetOperations.applyDistinct(List<Row> rows, CollationSpec[] collations) Apply DISTINCT where some columns compare under a collation: values that differ only below the collation's strength are ONE row, and the row reports the smallest of them by raw text.SetOperations.applyExcept(List<Row> leftRows, List<Row> rightRowsRaw, boolean all) Apply EXCEPT operation.SetOperations.applyIntersect(List<Row> leftRows, List<Row> rightRowsRaw, boolean all) Apply INTERSECT operation.SetOperations.applyUnion(List<Row> leftRows, List<Row> rightRowsRaw, boolean all) Apply UNION operation.SetOperations.applyUnion(List<Row> leftRows, List<Row> rightRowsRaw, boolean all, List<ResultSetColumn> leadingColumns) Apply UNION, with the LEADING branch's column layout available so an empty leading branch still types the union.ConnectByExpander.expand(List<Row> baseRows, Table baseTable, Table expandedTable, FrostlakeParser.ConnectByClauseContext clause, Map<String, Table> aliasToTable, List<Table> allTables) ExpandbaseRowsinto the hierarchy described by the clause, in depth-first pre-order (parent immediately before its subtree).Methods in dev.frostlake.executor with parameters of type RowModifier and TypeMethodDescriptionvoidQueryExecutor.coerceRowTypesLenient(Table table, Row row) Lenient per-column coercion for CTAS rows: coerce each value to the created table's column type when the conversion works, and keep the ORIGINAL value when it does not.voidQueryExecutor.enforceColumnConstraints(Table table, Row row) Enforce column constraints at statement time on the COPY write path: coerce values to the column type (only when constraints.enforce.types is on), then check NOT NULL (always — Snowflake enforces NOT NULL, unlike the informational PK/UK/FK).voidQueryExecutor.enforceColumnConstraintsForDml(Table table, Row row) The DML flavour ofQueryExecutor.enforceColumnConstraints(Table, Row): INSERT,INSERT … SELECT, UPDATE and MERGE all report a write violation inside a per-statement envelope naming the table and the column — live-verified verbatim,DML operation to table NN failed on column C with error: NULL result in a non-nullable column— around the same inner sentences the COPY path reports bare.voidQueryExecutor.enforceColumnConstraintsForDml(Table table, Row row, boolean boundToColumnSlot) QueryExecutor.enforceColumnConstraintsForDml(Table, Row, boolean, String)naming the table bare.voidQueryExecutor.enforceColumnConstraintsForDml(Table table, Row row, boolean boundToColumnSlot, String writtenName) The write-time constraints of one row, each failure wrapped in the DML envelope that names the table AS THE STATEMENT WROTE IT —TEST_DB.TEST_SCHEMA.TWOfor a qualified INSERT,TWOfor a bare one, four parts when the account was written (live-verified for INSERT, UPDATE, UPDATE … FROM and both MERGE branches).ExpressionEvaluator.evaluate(Expression expression, Row row) Evaluate an expression AST against a row (RECOMMENDED) This method is more efficient than string-based evaluation because the expression is already parsed.Evaluate a string expression against a row: parse it to an AST (cached) and evaluate viaExpressionEvaluatorVisitor.Evaluateexprover the merged row for this pair (refills only the values list).1-based position of the first row equal torow, or null when no row equals it.QueryExecutor.resolveColumnInTables(Row row, List<Table> tables, Map<String, Table> aliasToTable, String qualifiedName) Resolve a (possibly qualified) column reference against a multi-table row context — the alias-aware resolution used by JOIN evaluation, exposed for the AST evaluator so a parsed Expression can be evaluated directly over joined rows (e.g.QueryExecutor.resolveColumnInTables(Row row, List<Table> tables, Map<String, Table> aliasToTable, String qualifiedName, int[] resolvedOffset) Resolve likeQueryExecutor.resolveColumnInTables(Row, List, Map, String), additionally reporting HOW the reference resolved throughresolvedOffset[0]: the flat row offset when the value came from the plain table-column scan (a fixed layout position the caller may cache for this context), left untouched when it resolved any other way (literal fallback, merged join key — per-row decisions that must re-run).voidRefuserowif it duplicates a primary key (in the committed base or this transaction's pending inserts) or a guarded UNIQUE column's non-null value; an accepted row's values join the seen sets so later rows of the same statement are checked against it too.The expression's value for one grouped output row.voidQueryExecutor.writeCtasRow(Table table, Row row, String envelopeName) A CTAS row written into the declared types of its column list, as live writes it: each value is converted to its column the way an INSERT converts it — a number rounded to the scale, text parsed — and a value that does not fit is refused inside the DML envelope naming the table and the column ("DML operation to table DB.S.T failed on column X with error: String 'abcd' is too long and would be truncated").Method parameters in dev.frostlake.executor with type arguments of type RowModifier and TypeMethodDescriptionSetOperations.applyDistinct(List<Row> rows) Apply DISTINCT to remove duplicate rows (first occurrence kept, order preserved) — O(n) via a hash set on normalized row keys.SetOperations.applyDistinct(List<Row> rows, CollationSpec[] collations) Apply DISTINCT where some columns compare under a collation: values that differ only below the collation's strength are ONE row, and the row reports the smallest of them by raw text.SetOperations.applyExcept(List<Row> leftRows, List<Row> rightRowsRaw, boolean all) Apply EXCEPT operation.SetOperations.applyIntersect(List<Row> leftRows, List<Row> rightRowsRaw, boolean all) Apply INTERSECT operation.SetOperations.applyUnion(List<Row> leftRows, List<Row> rightRowsRaw, boolean all) Apply UNION operation.SetOperations.applyUnion(List<Row> leftRows, List<Row> rightRowsRaw, boolean all, List<ResultSetColumn> leadingColumns) Apply UNION, with the LEADING branch's column layout available so an empty leading branch still types the union.static voidSetOperations.coerceStringBranches(List<List<Row>> branchRows, List<List<ResultSetColumn>> branchColumns, List<ResultSetColumn> unified) Convert every branch's values toward the unified column types, in place inbranchRows.ConnectByExpander.expand(List<Row> baseRows, Table baseTable, Table expandedTable, FrostlakeParser.ConnectByClauseContext clause, Map<String, Table> aliasToTable, List<Table> allTables) ExpandbaseRowsinto the hierarchy described by the clause, in depth-first pre-order (parent immediately before its subtree).Constructor parameters in dev.frostlake.executor with type arguments of type Row -
Uses of Row in dev.frostlake.executor.expressions
Methods in dev.frostlake.executor.expressions with parameters of type RowModifier and TypeMethodDescriptionvoidPoint this visitor at a new row — lets one visitor be reused across rows (see ExpressionEvaluator).Method parameters in dev.frostlake.executor.expressions with type arguments of type RowConstructors in dev.frostlake.executor.expressions with parameters of type RowModifierConstructorDescriptionExpressionEvaluatorVisitor(Table table, Row row, FunctionRegistry functionRegistry, Catalog catalog) -
Uses of Row in dev.frostlake.executor.operators
Methods in dev.frostlake.executor.operators that return types with arguments of type RowModifier and TypeMethodDescriptionAsofJoinOperator.execute(List<Row> leftRows, OperatorContext context) GroupByOperator.execute(List<Row> input, OperatorContext context) HavingOperator.execute(List<Row> input, OperatorContext context) JoinOperator.execute(List<Row> leftRows, OperatorContext context) LimitOperator.execute(List<Row> input, OperatorContext context) Operator.execute(List<Row> input, OperatorContext context) Execute this operator on the input rows.Execute the pipeline on the input rows.ProjectOperator.execute(List<Row> input, OperatorContext context) QualifyOperator.execute(List<Row> input, OperatorContext context) TableFunctionOperator.execute(List<Row> input, OperatorContext context) WhereOperator.execute(List<Row> input, OperatorContext context) Methods in dev.frostlake.executor.operators with parameters of type RowModifier and TypeMethodDescriptionbooleanHavingEvaluator.evaluate(Expression condition, Row aggregatedRow) booleanQualifyEvaluator.evaluate(Expression condition, Row row, int rowIndex) RowExpressionEvaluator.evaluate(Expression expression, Row row) Evaluate a parsed expression AST on a row.booleanEvaluate a join condition on a pair of rows.Method parameters in dev.frostlake.executor.operators with type arguments of type RowModifier and TypeMethodDescriptionvoidGroupByOperator.captureGroupRows(List<List<Row>> sink) Capture each output row's source group rows intosink(parallel to the returned list), so a caller can apply HAVING aggregates that are not SELECT items over the original group.static JoinOperatorCreate a CROSS JOIN operator (no condition).Evaluate the select item at the given index on a group of rows.AsofJoinOperator.execute(List<Row> leftRows, OperatorContext context) GroupByOperator.execute(List<Row> input, OperatorContext context) HavingOperator.execute(List<Row> input, OperatorContext context) JoinOperator.execute(List<Row> leftRows, OperatorContext context) LimitOperator.execute(List<Row> input, OperatorContext context) Operator.execute(List<Row> input, OperatorContext context) Execute this operator on the input rows.Execute the pipeline on the input rows.ProjectOperator.execute(List<Row> input, OperatorContext context) QualifyOperator.execute(List<Row> input, OperatorContext context) TableFunctionOperator.execute(List<Row> input, OperatorContext context) WhereOperator.execute(List<Row> input, OperatorContext context) Constructor parameters in dev.frostlake.executor.operators with type arguments of type RowModifierConstructorDescriptionAsofJoinOperator(Table leftTable, Table rightTable, List<Row> rightRows, BinaryOperator matchOperator, Expression leftMatchExpression, RowExpressionEvaluator leftMatchEvaluator, Expression rightMatchExpression, RowExpressionEvaluator rightMatchEvaluator, JoinConditionEvaluator partitionEvaluator) JoinOperator(Table leftTable, Table rightTable, List<Row> rightRows, JoinType joinType, String joinCondition, JoinConditionEvaluator conditionEvaluator) Create a JOIN operator with a condition evaluator. -
Uses of Row in dev.frostlake.executor.procedural
Methods in dev.frostlake.executor.procedural that return Row -
Uses of Row in dev.frostlake.executor.streaming
Methods in dev.frostlake.executor.streaming that return RowModifier and TypeMethodDescriptionFilterRowStream.next()LimitRowStream.next()ListRowStream.next()ProjectRowStream.next()RowStream.next()The next row, ornullwhen the stream is exhausted.Methods in dev.frostlake.executor.streaming with parameters of type RowConstructor parameters in dev.frostlake.executor.streaming with type arguments of type Row -
Uses of Row in dev.frostlake.functions.window
Methods in dev.frostlake.functions.window with parameters of type RowModifier and TypeMethodDescriptionstatic doubleCUME_DIST — fraction of rows with order value<=current; ranges (0, 1].static intstatic longNTILE(n) — divides the sorted partition into n equal buckets, returns bucket number (1-based).static doublePERCENT_RANK — (rank - 1) / (N - 1); ranges [0, 1].Method parameters in dev.frostlake.functions.window with type arguments of type RowModifier and TypeMethodDescriptionstatic doubleCUME_DIST — fraction of rows with order value<=current; ranges (0, 1].static intstatic longNTILE(n) — divides the sorted partition into n equal buckets, returns bucket number (1-based).static doublePERCENT_RANK — (rank - 1) / (N - 1); ranges [0, 1]. -
Uses of Row in dev.frostlake.metastore
Methods in dev.frostlake.metastore that return types with arguments of type RowModifier and TypeMethodDescriptionDroppedObject.getRows()DroppedObject.getTableRows()Rows of every table in a dropped schema/database, keyed by fully-qualified name; null for a table.Constructor parameters in dev.frostlake.metastore with type arguments of type Row -
Uses of Row in dev.frostlake.storage
Fields in dev.frostlake.storage with type parameters of type RowMethods in dev.frostlake.storage that return RowModifier and TypeMethodDescriptionRow.copy()TableStorage.getRow(int index) The live row atindex(used at deferred-apply time to capture pre-change values).TableStorage.getRowByPrimaryKey(Object key) static RowCreate a Row backed directly by the given list, WITHOUT a defensive copy.Methods in dev.frostlake.storage that return types with arguments of type RowMethods in dev.frostlake.storage with parameters of type RowModifier and TypeMethodDescriptionvoidvoidTableStorage.primaryKeyOf(Row row) The primary-key value (single value, or list for a composite key) ofrow; null if no PK.voidTableStorage.replaceRow(int index, Row newRow) Install a REPLACEMENT row atindex— UPDATE never mutates a stored row in place, which is what letsTableStorage.takeSnapshot()keep pointer copies instead of deep copies.voidConstructor parameters in dev.frostlake.storage with type arguments of type Row -
Uses of Row in dev.frostlake.stream
Methods in dev.frostlake.stream with parameters of type RowModifier and TypeMethodDescriptionvoidStreamManager.trackDelete(String qualifiedTableName, Row row) Track a DELETE operationvoidStreamManager.trackDelete(List<Stream> capturing, String qualifiedTableName, Row row) StreamManager.trackDelete(String, Row)over a PRE-RESOLVED capture list (bulk commit apply).voidStreamManager.trackInsert(String qualifiedTableName, Row row) Track an INSERT operationvoidStreamManager.trackInsert(List<Stream> capturing, String qualifiedTableName, Row row) StreamManager.trackInsert(String, Row)over a PRE-RESOLVED capture list (bulk commit apply).voidStreamManager.trackUpdate(String qualifiedTableName, Row oldRow, Row newRow) Track an UPDATE operationvoidStreamManager.trackUpdate(List<Stream> capturing, String qualifiedTableName, Row oldRow, Row newRow) StreamManager.trackUpdate(String, Row, Row)over a PRE-RESOLVED capture list (bulk commit apply).Method parameters in dev.frostlake.stream with type arguments of type RowModifier and TypeMethodDescriptionvoidStreamManager.seedInitialRows(Stream stream, String qualifiedTableName, List<Row> rows) Seed a freshly created SHOW_INITIAL_ROWS stream with the source table's existing rows as INSERT records, so the stream's first read returns the current table contents (Snowflake semantics). -
Uses of Row in dev.frostlake.transaction
Methods in dev.frostlake.transaction that return RowModifier and TypeMethodDescriptionUpdateLog.getNewRow()UpdateLog.getOldRow()DeleteLog.getRow()InsertLog.getRow()TransactionWriteSet.pendingUpdate(String table, long rowId) The pending new value for the base row with this stable id, or null if it isn't updated here.Methods in dev.frostlake.transaction that return types with arguments of type RowModifier and TypeMethodDescriptionTransactionWriteSet.overlayRows(String table, TableStorage base) This transaction's view oftable: committed base rows with this write set's updates applied and deletes removed, then this write set's inserts appended.TransactionWriteSet.pendingInserts(String table) A snapshot of the rows this transaction has inserted intotable(empty if none); the indices line up withTransactionWriteSet.setPendingInsert(java.lang.String, int, dev.frostlake.storage.Row)/TransactionWriteSet.removePendingInsert(java.lang.String, int).Methods in dev.frostlake.transaction with parameters of type RowModifier and TypeMethodDescriptionvoidvoidvoidvoidTransactionWriteSet.recordInsert(String table, Row row) voidTransactionWriteSet.recordUpdate(String table, long rowId, Row newValue) Record a new value for an existing base row (by stable id).voidTransactionWriteSet.setPendingInsert(String table, int index, Row newRow) Replace a not-yet-committed inserted row (in-transaction UPDATE of a row this txn just inserted).Constructors in dev.frostlake.transaction with parameters of type Row