JS: Improve sqlite3 model

This commit is contained in:
Asger Feldthaus
2021-03-29 22:53:47 +01:00
parent 0b21b273ed
commit 95937c9ac7
3 changed files with 10 additions and 11 deletions

View File

@@ -342,24 +342,17 @@ private module Sqlite {
}
/** Gets an expression that constructs a Sqlite database instance. */
API::Node newDb() {
API::Node database() {
// new require('sqlite3').Database()
result = sqlite().getMember("Database").getInstance()
or
result = API::Node::ofType("sqlite3", "Database")
}
/** A call to a Sqlite query method. */
private class QueryCall extends DatabaseAccess, DataFlow::MethodCallNode {
QueryCall() {
exists(string meth |
meth = "all" or
meth = "each" or
meth = "exec" or
meth = "get" or
meth = "prepare" or
meth = "run"
|
this = newDb().getMember(meth).getACall()
)
this = database().getMember(["all", "each", "exec", "get", "prepare", "run"]).getACall()
}
override DataFlow::Node getAQueryArgument() { result = getArgument(0) }

View File

@@ -54,6 +54,7 @@
| spanner.js:19:16:19:34 | { sql: "SQL code" } |
| spanner.js:19:23:19:32 | "SQL code" |
| spannerImport.js:4:8:4:17 | "SQL code" |
| sqlite-types.ts:4:12:4:49 | "UPDATE ... id = ?" |
| sqlite.js:7:8:7:45 | "UPDATE ... id = ?" |
| sqliteArray.js:6:12:6:49 | "UPDATE ... id = ?" |
| sqliteImport.js:2:8:2:44 | "UPDATE ... id = ?" |

View File

@@ -0,0 +1,5 @@
import { Database } from "sqlite3";
export function doSomething(db: Database) {
db.run("UPDATE tbl SET name = ? WHERE id = ?", "bar", 2);
}