libsql-client-go icon indicating copy to clipboard operation
libsql-client-go copied to clipboard

File urls with double leading slashes cause "SQL logic error: out of memory"

Open CodingDoug opened this issue 2 years ago • 0 comments

var dbUrl = "file://tmp/test.db"

db, err := sql.Open("libsql", dbUrl)
if err != nil {
	fmt.Fprintf(os.Stderr, "failed to open db %s: %s", dbUrl, err)
	os.Exit(1)
}

rows, err := db.Query("select 1")
if err != nil {
	fmt.Fprintf(os.Stderr, "failed to execute statement: %s", err)
	os.Exit(1)
}

The error happens on Query (not the Open!) This does not happen when the file URL is "file:/tmp/test.db" or "file:///tmp/test.db"

The TypeScript driver documents that two leading slashes is not a valid URL, which is fine. We just need a more sensible error message about it, and preferably during Open and not Query.

CodingDoug avatar Jun 15 '23 15:06 CodingDoug