The system you want to boot into the single user mode is probably the
default installation, so a simple "boot -s" is enough for that. Don't
be redundant and scary.
Also provide an example that uses full syntax for the kernel name. It
is confusingly similar to the OFW syntax for boot-device yet
different. That example also demonstrates how one might test a
different version of ofwboot.
The functions snprintb and snprintb_m are specific to NetBSD, and their
format strings are tricky to get correct. Provide some assistance in
catching the most common mistakes.
Pass target scope to Var_ReexportVars so that a target process
will see the correct values in its env.
We must then mark any Global scope variable as unexported
so targets without local value get the Global one.
SQLite Release 3.45.1 On 2024-01-30
Prior changes from version 3.45.0 (2024-01-15):
Added the SQLITE_RESULT_SUBTYPE property for application-defined
SQL functions. All application defined SQL functions that invokes
sqlite3_result_subtype() must be registered with this new property.
Failure to do so might cause the call to sqlite3_result_subtype()
to behave as a no-op. Compile with -DSQLITE_STRICT_SUBTYPE=1 to
cause an SQL error to be raised if a function that is not
SQLITE_RESULT_SUBTYPE tries invokes sqlite3_result_subtype(). The
use of -DSQLITE_STRICT_SUBTYPE=1 is a recommended compile-time
option for every application that makes use of subtypes.
Enhancements to the JSON SQL functions:
All JSON functions are rewritten to use a new internal parse tree
format called JSONB. The new parse-tree format is serializable and
hence can be stored in the database to avoid unnecessary re-parsing
whenever the JSON value is used. New versions of JSON-generating
functions generate binary JSONB instead of JSON text.
The json_valid() function adds an optional second argument that
specifies what it means for the first argument to be "well-formed".
Add the FTS5 tokendata option to the FTS5 virtual table.
The SQLITE_DIRECT_OVERFLOW_READ optimization is now enabled by
default. Disable it at compile-time using -DSQLITE_DIRECT_OVERFLOW_READ=0.
Query planner improvements:
Do not allow the transitive constraint optimization to trick the
query planner into using a range constraint when a better equality
constraint is available. (Forum post 2568d1f6e6.)
The query planner now does a better job of disregarding indexes
that ANALYZE identifies as low-quality. (Forum post 6f0958b03b.)
Increase the default value for SQLITE_MAX_PAGE_COUNT from 1073741824
to 4294967294.
Enhancements to the CLI:
Improvements to the display of UTF-8 content on Windows
Automatically detect playback of ".dump" scripts and make appropriate
changes to settings such as ".dbconfig defensive off" and ".dbconfig
dqs_dll on".
Changes in this specific patch release, version 3.45.1 (2024-01-30):
Restore the JSON BLOB input bug, and promise to support the anomaly
in subsequent releases, for backward compatibility.
Fix the PRAGMA integrity_check command so that it works on read-only
databases that contain FTS3 and FTS5 tables. This resolves an issue
introduced in version 3.44.0 but was undiscovered until after the
3.45.0 release.
Fix issues associated with processing corrupt JSONB inputs:
Prevent exponential runtime when converting a corrupt JSONB into text.
Fix a possible read of one byte past the end of the JSONB blob when
converting a corrupt JSONB into text.
Enhanced testing using jfuzz to prevent any future JSONB problems
such as the above.
Fix a long-standing bug in which a read of a few bytes past the
end of a memory-mapped segment might occur when accessing a craftily
corrupted database using memory-mapped database.
Fix a long-standing bug in which a NULL pointer dereference might
occur in the bytecode engine due to incorrect bytecode being
generated for a class of SQL statements that are deliberately
designed to stress the query planner but which are otherwise
pointless.
[for changes to previous releases see:
https://www.sqlite.org/src/timeline?c=1066602b2b&y=ci]
check that the idle loop, soft interrupt handlers, workqueue, and xcall
callbacks do not modify the preemption count, in most cases, knowing it
should be 0 currently.
this work was originally done by simonb. cleaned up slightly and some
minor enhancement made by myself, and with discussion with riastradh@.
other callback call sites could check this as well (such as MD interrupt
handlers, or really anything that includes a callback registration. x86
version to be commited separately.)
"path + cur->name" is not same as "cur->root + cur->path + cur->name"
for extra-directory files, as extra-directory files are
in different location. Do what makefs ffs code does.
Don't increment ring->queued past what the task will decrement.
This is a stop-gap measure; really, we should just have one task for
each operation that is deferred to the task thread.
PR kern/57965
clockframe layout and remove the CLOCK_FORMAT0 work-around. As a nice
side-effect, this also eliminates the super-sketchy stack unwinding used
by rtclock_intr to get at the interrupt stack frame.
This causes a leak of l_nopreempt in xc_thread when a CPU is offlined
and onlined again, because the offlining heartbeat_suspend and the
onlining heartbeat_resume happen in separate xcalls.
No change to callers because they are already bound to the CPU:
1. cnpollc does kpreempt_disable/enable itself around the calls to
heartbeat_suspend/resume anyway
2. cpu_xc_offline/online run in the xcall thread, which is always
bound to the CPU that is being offlined or onlined