function sqlite_exec(db, query, retval, sqlcfg) { retval = "" sqlcfg = gettemp() printf ".timeout 1000\n" >sqlcfg printf "PRAGMA encoding=\"UTF-8\";\n" >>sqlcfg printf "%s;\n", query >>sqlcfg close(sqlcfg) cmd = sprintf("%s -batch -line -safe -init \"%s\" \"%s\" .quit 2>&1", cmd_sqlite, sqlcfg, db) while ((cmd | getline) > 0) { retval = retval $0 "\r\n" } close(cmd) unlink(sqlcfg) return retval } function sqlite_escape(str) { gsub(/'/, "''", str) return str }