mirror of
https://github.com/sqlite/sqlite.git
synced 2025-11-15 11:41:13 +03:00
fiddle: initial work on loading a client-side db file. Works but requires some cleanup. Export is not yet implemented.
FossilOrigin-Name: 0fa8378c006fcf2311772d36cf2e3c2cd8e8648f671de89ee9832e2e1a06ef49
This commit is contained in:
@@ -4394,6 +4394,11 @@ static const char *(azHelp[]) = {
|
||||
" --bom Put a UTF8 byte-order mark at the beginning",
|
||||
" -e Send output to the system text editor",
|
||||
" -x Send output as CSV to a spreadsheet (same as \".excel\")",
|
||||
/* Note that .open is (partially) available in WASM builds but is
|
||||
** currently only intended to be fed the names of already-existing
|
||||
** binary db imports, so is "undocumented." Passing it an unknown
|
||||
** filename will lead to an exit(), so we don't want WASM-side
|
||||
** callers using it. */
|
||||
".open ?OPTIONS? ?FILE? Close existing database and reopen FILE",
|
||||
" Options:",
|
||||
" --append Use appendvfs to append database to the end of FILE",
|
||||
@@ -4407,12 +4412,14 @@ static const char *(azHelp[]) = {
|
||||
" --nofollow Do not follow symbolic links",
|
||||
" --readonly Open FILE readonly",
|
||||
" --zip FILE is a ZIP archive",
|
||||
#ifndef SQLITE_SHELL_WASM_MODE
|
||||
".output ?FILE? Send output to FILE or stdout if FILE is omitted",
|
||||
" If FILE begins with '|' then open it as a pipe.",
|
||||
" Options:",
|
||||
" --bom Prefix output with a UTF8 byte-order mark",
|
||||
" -e Send output to the system text editor",
|
||||
" -x Send output as CSV to a spreadsheet",
|
||||
#endif
|
||||
".parameter CMD ... Manage SQL parameter bindings",
|
||||
" clear Erase all bindings",
|
||||
" init Initialize the TEMP table that holds bindings",
|
||||
@@ -9574,6 +9581,7 @@ static int do_meta_command(char *zLine, ShellState *p){
|
||||
/* Check for command-line arguments */
|
||||
for(iName=1; iName<nArg; iName++){
|
||||
const char *z = azArg[iName];
|
||||
#ifndef SQLITE_SHELL_WASM_MODE
|
||||
if( optionMatch(z,"new") ){
|
||||
newFlag = 1;
|
||||
#ifdef SQLITE_HAVE_ZLIB
|
||||
@@ -9594,7 +9602,9 @@ static int do_meta_command(char *zLine, ShellState *p){
|
||||
}else if( optionMatch(z, "maxsize") && iName+1<nArg ){
|
||||
p->szMax = integerValue(azArg[++iName]);
|
||||
#endif /* SQLITE_OMIT_DESERIALIZE */
|
||||
}else if( z[0]=='-' ){
|
||||
}else
|
||||
#endif /* !SQLITE_SHELL_WASM_MODE */
|
||||
if( z[0]=='-' ){
|
||||
utf8_printf(stderr, "unknown option: %s\n", z);
|
||||
rc = 1;
|
||||
goto meta_command_exit;
|
||||
@@ -9621,6 +9631,7 @@ static int do_meta_command(char *zLine, ShellState *p){
|
||||
/* If a filename is specified, try to open it first */
|
||||
if( zFN || p->openMode==SHELL_OPEN_HEXDB ){
|
||||
if( newFlag && zFN && !p->bSafeMode ) shellDeleteFile(zFN);
|
||||
#ifndef SQLITE_SHELL_WASM_MODE
|
||||
if( p->bSafeMode
|
||||
&& p->openMode!=SHELL_OPEN_HEXDB
|
||||
&& zFN
|
||||
@@ -9628,6 +9639,9 @@ static int do_meta_command(char *zLine, ShellState *p){
|
||||
){
|
||||
failIfSafeMode(p, "cannot open disk-based database files in safe mode");
|
||||
}
|
||||
#else
|
||||
/* WASM mode has its own sandboxed pseudo-filesystem. */
|
||||
#endif
|
||||
if( zFN ){
|
||||
zNewFilename = sqlite3_mprintf("%s", zFN);
|
||||
shell_check_oom(zNewFilename);
|
||||
|
||||
Reference in New Issue
Block a user