Skip to content

Commit fd878a1

Browse files
authored
Merge pull request #18465 from egregius313/egregius313/go/mad/database/beego-orm
Go: `database` source models for `github.com/beego/beego/client/orm`
2 parents 1cba147 + 0f03835 commit fd878a1

File tree

6 files changed

+513
-4
lines changed

6 files changed

+513
-4
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* `database` local source models have been added for the Beego ORM package.

go/ql/lib/ext/github.com.beego.beego.client.orm.model.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,23 @@ extensions:
66
- ["beego-orm", "github.com/beego/beego/client/orm"]
77
- ["beego-orm", "github.com/astaxie/beego/orm"]
88
- ["beego-orm", "github.com/beego/beego/orm"]
9+
- addsTo:
10+
pack: codeql/go-all
11+
extensible: sourceModel
12+
data:
13+
- ["group:beego-orm", "DB", True, "Query", "", "", "ReturnValue[0]", "database", "manual"]
14+
- ["group:beego-orm", "DB", True, "QueryContext", "", "", "ReturnValue[0]", "database", "manual"]
15+
- ["group:beego-orm", "DB", True, "QueryRow", "", "", "ReturnValue", "database", "manual"]
16+
- ["group:beego-orm", "DB", True, "QueryRowContext", "", "", "ReturnValue", "database", "manual"]
17+
- ["group:beego-orm", "DQL", True, "Read", "", "", "Argument[0]", "database", "manual"]
18+
- ["group:beego-orm", "DQL", True, "ReadWithCtx", "", "", "Argument[1]", "database", "manual"]
19+
- ["group:beego-orm", "DQL", True, "ReadForUpdate", "", "", "Argument[0]", "database", "manual"]
20+
- ["group:beego-orm", "DQL", True, "ReadForUpdateWithCtx", "", "", "Argument[1]", "database", "manual"]
21+
- ["group:beego-orm", "DQL", True, "ReadOrCreate", "", "", "Argument[0]", "database", "manual"]
22+
- ["group:beego-orm", "DQL", True, "ReadOrCreateWithCtx", "", "", "Argument[1]", "database", "manual"]
23+
- ["group:beego-orm", "Ormer", True, "Read", "", "", "Argument[0]", "database", "manual"]
24+
- ["group:beego-orm", "Ormer", True, "ReadForUpdate", "", "", "Argument[0]", "database", "manual"]
25+
- ["group:beego-orm", "Ormer", True, "ReadOrCreate", "", "", "Argument[0]", "database", "manual"]
926
- addsTo:
1027
pack: codeql/go-all
1128
extensible: sinkModel
@@ -40,3 +57,4 @@ extensions:
4057
- ["group:beego-orm", "QueryBuilder", True, "Values", "", "", "Argument[0]", "sql-injection", "manual"]
4158
- ["group:beego-orm", "QueryBuilder", True, "Where", "", "", "Argument[0]", "sql-injection", "manual"]
4259
- ["group:beego-orm", "QuerySeter", True, "FilterRaw", "", "", "Argument[1]", "sql-injection", "manual"]
60+
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package test
2+
3+
import (
4+
oldOrm "github.com/astaxie/beego/orm"
5+
"github.com/beego/beego/v2/client/orm"
6+
)
7+
8+
func test_beego_DB(db orm.DB) {
9+
rows, err := db.Query("SELECT * FROM users") // $ source
10+
ignore(rows, err)
11+
12+
rows, err = db.QueryContext(nil, "SELECT * FROM users") // $ source
13+
ignore(rows, err)
14+
15+
row := db.QueryRow("SELECT * FROM users") // $ source
16+
ignore(row)
17+
18+
row = db.QueryRowContext(nil, "SELECT * FROM users") // $ source
19+
ignore(row)
20+
}
21+
22+
func test_beego_Ormer() {
23+
o := oldOrm.NewOrm()
24+
o.Read(&User{}) // $ source
25+
o.ReadForUpdate(&User{}) // $ source
26+
o.ReadOrCreate(&User{}, "name") // $ source
27+
}
28+
29+
func test_beego_DQL() {
30+
o := orm.NewOrm()
31+
o.Read(&User{}) // $ source
32+
o.ReadWithCtx(nil, &User{}) // $ source
33+
o.ReadForUpdate(&User{}) // $ source
34+
o.ReadForUpdateWithCtx(nil, &User{}) // $ source
35+
o.ReadOrCreate(&User{}, "name") // $ source
36+
o.ReadOrCreateWithCtx(nil, &User{}, "name") // $ source
37+
}

go/ql/test/library-tests/semmle/go/dataflow/flowsources/local/database/vendor/github.com/astaxie/beego/orm/stub.go

Lines changed: 150 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)