tursodatabase / libsql-shell-go

7 stars 7 forks source link

fix: internal cmds escape special chars #144

Closed douglasmdev closed 11 months ago

douglasmdev commented 12 months ago

Description

Related Issues

Visual reference

Before:

→  create table [asdf'asdf] (t text);
→  insert into [asdf'asdf] values ('x');
→  .dump
...
Error: failed to execute SQL: SELECT SQL FROM sqlite_master WHERE TBL_NAME='asdf'asdf'
syntax error around L1:56: `asdf`

Now:

→  create table [asdf'asdf] (t text);
→  insert into [asdf'asdf] values ('test');
→  create table '8test' (t text);
→  insert into '8test' values ('t');
→  create table 't(e!s?t+' (t text);
→  insert into 't(e!s?t+' values ('t');
→  .dump
PRAGMA foreign_keys=OFF;
CREATE TABLE [asdf'asdf] (t text);
INSERT INTO 'asdf''asdf' VALUES ('test');
CREATE TABLE '8test' (t text);
INSERT INTO '8test' VALUES ('t');
CREATE TABLE 't(e!s?t+' (t text);
INSERT INTO 't(e!s?t+' VALUES ('t');
→  .schema
CREATE TABLE '8test' (t text)         
CREATE TABLE [asdf'asdf] (t text)     
CREATE TABLE 't(e!s?t+' (t text)
→  .tables
8test         
asdf'asdf     
t(e!s?t+ 
athoscouto commented 12 months ago

Feel free to move forward if somebody else approves it! I may be getting the problem/solution the wrong way.