@@ -15,6 +15,7 @@ import (
15
15
"github.com/stackrox/rox/pkg/utils"
16
16
"github.com/stackrox/scanner/database"
17
17
"github.com/stackrox/scanner/database/metrics"
18
+ "github.com/stackrox/scanner/pkg/env"
18
19
)
19
20
20
21
func (pgSQL * pgSQL ) InsertRHELv2Layer (layer * database.RHELv2Layer ) error {
@@ -46,11 +47,18 @@ func (pgSQL *pgSQL) InsertRHELv2Layer(layer *database.RHELv2Layer) error {
46
47
func (pgSQL * pgSQL ) insertRHELv2Layer (tx * sql.Tx , layer * database.RHELv2Layer ) error {
47
48
defer metrics .ObserveQueryTime ("insertRHELv2Layer" , "layer" , time .Now ())
48
49
49
- _ , err := tx .Exec (insertRHELv2Layer , layer .Hash , layer .ParentHash , layer .Dist , pq .Array (layer .CPEs ), layer .Lineage , layer .ParentLineage )
50
+ var lineage string
51
+ var parentLineage string
52
+ if env .RHLineage .Enabled () {
53
+ lineage = layer .Lineage
54
+ parentLineage = layer .ParentLineage
55
+ }
56
+
57
+ _ , err := tx .Exec (insertRHELv2Layer , layer .Hash , layer .ParentHash , layer .Dist , pq .Array (layer .CPEs ), lineage , parentLineage )
50
58
return err
51
59
}
52
60
53
- func (pgSQL * pgSQL ) insertRHELv2Packages (tx * sql.Tx , layer string , pkgs []* database.RHELv2Package , lineage string ) error {
61
+ func (pgSQL * pgSQL ) insertRHELv2Packages (tx * sql.Tx , layer string , pkgs []* database.RHELv2Package , layerLineage string ) error {
54
62
// Sort packages to avoid potential deadlock.
55
63
// Sort by the unique index (name, version, module, arch).
56
64
sort .SliceStable (pkgs , func (i , j int ) bool {
@@ -80,6 +88,11 @@ func (pgSQL *pgSQL) insertRHELv2Packages(tx *sql.Tx, layer string, pkgs []*datab
80
88
}
81
89
}
82
90
91
+ var lineage string
92
+ if env .RHLineage .Enabled () {
93
+ lineage = layerLineage
94
+ }
95
+
83
96
for _ , pkg := range pkgs {
84
97
if pkg .Name == "" {
85
98
continue
@@ -112,7 +125,12 @@ func (pgSQL *pgSQL) GetRHELv2Layers(layerHash, layerLineage string) ([]*database
112
125
return nil , handleError ("GetRHELv2Layers.Begin()" , err )
113
126
}
114
127
115
- rows , err := tx .Query (searchRHELv2Layers , layerHash , layerLineage )
128
+ var lineage string
129
+ if env .RHLineage .Enabled () {
130
+ lineage = layerLineage
131
+ }
132
+
133
+ rows , err := tx .Query (searchRHELv2Layers , layerHash , lineage )
116
134
if err != nil {
117
135
return nil , err
118
136
}
@@ -177,7 +195,12 @@ func (pgSQL *pgSQL) populatePackages(tx *sql.Tx, layers []*database.RHELv2Layer)
177
195
func (pgSQL * pgSQL ) getPackagesByLayer (tx * sql.Tx , layer * database.RHELv2Layer ) error {
178
196
defer metrics .ObserveQueryTime ("getRHELv2Layers" , "packagesByLayer" , time .Now ())
179
197
180
- rows , err := tx .Query (searchRHELv2Package , layer .Hash , layer .Lineage )
198
+ var lineage string
199
+ if env .RHLineage .Enabled () {
200
+ lineage = layer .Lineage
201
+ }
202
+
203
+ rows , err := tx .Query (searchRHELv2Package , layer .Hash , lineage )
181
204
if err != nil {
182
205
return err
183
206
}
0 commit comments