*** DRAFT ***

SQLite Requirement Matrix Details
aggregate_context.html

Index Summary Markup Original


R-50485-58274-46639-28890-19306-28119-49534-14014 tcl slt th3 src

The first time the sqlite3_aggregate_context(C,N) routine is called for a particular aggregate function, SQLite allocates N bytes of memory, zeroes out that memory, and returns a pointer to the new memory.

th3/req1/aggcntx01.test:60

/* IMP: R-50485-58274 */
# EVIDENCE-OF: R-50485-58274 The first time the
# sqlite3_aggregate_context(C,N) routine is called for a particular
# aggregate function, SQLite allocates N bytes of memory, zeroes out
# that memory, and returns a pointer to the new memory.

R-63860-02697-07339-29588-22030-08918-47419-18368 tcl slt th3 src

On second and subsequent calls to sqlite3_aggregate_context() for the same aggregate function instance, the same buffer is returned.

th3/req1/aggcntx01.test:51

/* IMP: R-63860-02697 */
# EVIDENCE-OF: R-63860-02697 On second and subsequent calls to
# sqlite3_aggregate_context() for the same aggregate function instance,
# the same buffer is returned.

R-18684-41029-50457-11697-46944-61670-11271-59779 tcl slt th3 src

When no rows match an aggregate query, the xStep() callback of the aggregate function implementation is never called and xFinal() is called exactly once. In those cases, sqlite3_aggregate_context() might be called for the first time from within xFinal().

th3/req1/aggcntx01.test:171

/* IMP: R-18684-41029 */
# EVIDENCE-OF: R-18684-41029 When no rows match an aggregate query, the
# xStep() callback of the aggregate function implementation is never
# called and xFinal() is called exactly once. In those cases,
# sqlite3_aggregate_context() might be called for the first time from
# within xFinal().

R-64473-47361-40314-48518-09145-45221-49421-09609 tcl slt th3 src

The sqlite3_aggregate_context(C,N) routine returns a NULL pointer when first called if N is less than or equal to zero or if a memory allocation error occurs.

th3/req1/aggcntx01.test:78

/* IMP: R-64473-47361 */
# EVIDENCE-OF: R-64473-47361 The sqlite3_aggregate_context(C,N) routine
# returns a NULL pointer when first called if N is less than or equal to
# zero or if a memory allocation error occurs.

R-43058-16959-43788-45364-39792-51782-37660-38644 tcl slt th3 src

The amount of space allocated by sqlite3_aggregate_context(C,N) is determined by the N parameter on first successful call. Changing the value of N in any subsequent call to sqlite3_aggregate_context() within the same aggregate function instance will not resize the memory allocation.

th3/req1/aggcntx01.test:37

/* IMP: R-43058-16959 */
# EVIDENCE-OF: R-43058-16959 The amount of space allocated by
# sqlite3_aggregate_context(C,N) is determined by the N parameter on
# first successful call. Changing the value of N in any subsequent call
# to sqlite3_aggregate_context() within the same aggregate function
# instance will not resize the memory allocation.

R-01862-45642-20021-42706-06373-08124-48431-44069 tcl slt th3 src

SQLite automatically frees the memory allocated by sqlite3_aggregate_context() when the aggregate query concludes.

th3/req1/aggcntx01.test:190

/* IMP: R-01862-45642 */
# EVIDENCE-OF: R-01862-45642 SQLite automatically frees the memory
# allocated by sqlite3_aggregate_context() when the aggregate query
# concludes.