DuckDB was not recognized as a schema-aware database, so only the
default "main" schema was shown in the object tree and schema selector.
Added DuckDB to schema-aware type lists, implemented schema listing via
information_schema.schemata, and replaced hardcoded table_schema = 'main'
with parameterized queries.
Treat blank-line-separated statements as part of the previous statement when the cursor sits on the semicolon boundary.\nKeep same-line cursor navigation moving to the next statement.\nAdd regression coverage for the cursor boundary cases described in issue #427.
parse_delimiter_command used str slicing (line[..10]) which panics on
non-char boundaries when the buffer contains multi-byte UTF-8 characters.
Also fixed DELIMITER detection to check only the last line of the buffer
instead of the entire accumulated content.
Parse DELIMITER directives (e.g., DELIMITER //, DELIMITER $$) so
stored procedures, functions, and triggers with internal semicolons
are kept as single statements. Disable PostgreSQL dollar-quoting
when a custom delimiter is active to avoid conflicts.
SQL Server treats `;` as a statement terminator, not a batch separator.
The previous logic split multi-statement SQL by `;` and executed each
independently, breaking variable/CTE scope across statements.
Send the entire SQL as a single batch via `simple_query` so DECLARE,
SET, and CTE definitions remain visible to subsequent statements.
Split only on the `GO` client directive when present.
Refactor all database drivers, query execution, schema operations, and
business logic into a shared `dbx-core` crate. The Tauri desktop app
becomes a thin shell delegating to dbx-core, enabling future web and
CLI frontends to reuse the same core.