Skip to content

Update bulk create service for custom software licenses

What does this MR do and why?

This MR updates the BulkCreateScanResultPolicyService to create custom licenses

New Queries

custom_software_licenses insert

INSERT INTO "custom_software_licenses" ("name", "project_id")
    VALUES ('ExamplePL1/0', 278964),
    ('ExamplePL1/1', 278964),
    ('ExamplePL1/2', 278964),
    ('ExamplePL1/3', 278964),
    ('ExamplePL1/4', 278964),
    ('ExamplePL1/5', 278964),
    ('ExamplePL1/6', 278964),
    ('ExamplePL1/7', 278964),
    ('ExamplePL1/8', 278964),
    ('ExamplePL1/9', 278964),
    ('ExamplePL1/10', 278964),
    ('ExamplePL1/11', 278964),
    ('ExamplePL1/12', 278964),
    ('ExamplePL1/13', 278964),
    ('ExamplePL1/14', 278964),
    ('ExamplePL1/15', 278964),
    ('ExamplePL1/16', 278964),
    ('ExamplePL1/17', 278964),
    ('ExamplePL1/18', 278964),
    ('ExamplePL1/19', 278964),
    ('ExamplePL1/20', 278964),
    ('ExamplePL1/21', 278964),
    ('ExamplePL1/22', 278964),
    ('ExamplePL1/23', 278964),
    ('ExamplePL1/24', 278964),
    ('ExamplePL1/25', 278964),
    ('ExamplePL1/26', 278964),
    ('ExamplePL1/27', 278964),
    ('ExamplePL1/28', 278964),
    ('ExamplePL1/29', 278964),
    ('ExamplePL1/30', 278964),
    ('ExamplePL1/31', 278964),
    ('ExamplePL1/32', 278964),
    ('ExamplePL1/33', 278964),
    ('ExamplePL1/34', 278964),
    ('ExamplePL1/35', 278964),
    ('ExamplePL1/36', 278964),
    ('ExamplePL1/37', 278964),
    ('ExamplePL1/38', 278964),
    ('ExamplePL1/39', 278964),
    ('ExamplePL1/40', 278964),
    ('ExamplePL1/41', 278964),
    ('ExamplePL1/42', 278964),
    ('ExamplePL1/43', 278964),
    ('ExamplePL1/44', 278964),
    ('ExamplePL1/45', 278964),
    ('ExamplePL1/46', 278964),
    ('ExamplePL1/47', 278964),
    ('ExamplePL1/48', 278964),
    ('ExamplePL1/49', 278964),
    ('ExamplePL1/50', 278964),
    ('ExamplePL1/51', 278964),
    ('ExamplePL1/52', 278964),
    ('ExamplePL1/53', 278964),
    ('ExamplePL1/54', 278964),
    ('ExamplePL1/55', 278964),
    ('ExamplePL1/56', 278964),
    ('ExamplePL1/57', 278964),
    ('ExamplePL1/58', 278964),
    ('ExamplePL1/59', 278964),
    ('ExamplePL1/60', 278964),
    ('ExamplePL1/61', 278964),
    ('ExamplePL1/62', 278964),
    ('ExamplePL1/63', 278964),
    ('ExamplePL1/64', 278964),
    ('ExamplePL1/65', 278964),
    ('ExamplePL1/66', 278964),
    ('ExamplePL1/67', 278964),
    ('ExamplePL1/68', 278964),
    ('ExamplePL1/69', 278964),
    ('ExamplePL1/70', 278964),
    ('ExamplePL1/71', 278964),
    ('ExamplePL1/72', 278964),
    ('ExamplePL1/73', 278964),
    ('ExamplePL1/74', 278964),
    ('ExamplePL1/75', 278964),
    ('ExamplePL1/76', 278964),
    ('ExamplePL1/77', 278964),
    ('ExamplePL1/78', 278964),
    ('ExamplePL1/79', 278964),
    ('ExamplePL1/80', 278964),
    ('ExamplePL1/81', 278964),
    ('ExamplePL1/82', 278964),
    ('ExamplePL1/83', 278964),
    ('ExamplePL1/84', 278964),
    ('ExamplePL1/85', 278964),
    ('ExamplePL1/86', 278964),
    ('ExamplePL1/87', 278964),
    ('ExamplePL1/88', 278964),
    ('ExamplePL1/89', 278964),
    ('ExamplePL1/90', 278964),
    ('ExamplePL1/91', 278964),
    ('ExamplePL1/92', 278964),
    ('ExamplePL1/93', 278964),
    ('ExamplePL1/94', 278964),
    ('ExamplePL1/95', 278964),
    ('ExamplePL1/96', 278964),
    ('ExamplePL1/97', 278964),
    ('ExamplePL1/98', 278964),
    ('ExamplePL1/99', 278964),
    ('ExamplePL1/100', 278964),
    ('ExamplePL1/101', 278964),
    ('ExamplePL1/102', 278964),
    ('ExamplePL1/103', 278964),
    ('ExamplePL1/104', 278964),
    ('ExamplePL1/105', 278964),
    ('ExamplePL1/106', 278964),
    ('ExamplePL1/107', 278964),
    ('ExamplePL1/108', 278964),
    ('ExamplePL1/109', 278964),
    ('ExamplePL1/110', 278964),
    ('ExamplePL1/111', 278964),
    ('ExamplePL1/112', 278964),
    ('ExamplePL1/113', 278964),
    ('ExamplePL1/114', 278964),
    ('ExamplePL1/115', 278964),
    ('ExamplePL1/116', 278964),
    ('ExamplePL1/117', 278964),
    ('ExamplePL1/118', 278964),
    ('ExamplePL1/119', 278964),
    ('ExamplePL1/120', 278964),
    ('ExamplePL1/121', 278964),
    ('ExamplePL1/122', 278964),
    ('ExamplePL1/123', 278964),
    ('ExamplePL1/124', 278964),
    ('ExamplePL1/125', 278964),
    ('ExamplePL1/126', 278964),
    ('ExamplePL1/127', 278964),
    ('ExamplePL1/128', 278964),
    ('ExamplePL1/129', 278964),
    ('ExamplePL1/130', 278964),
    ('ExamplePL1/131', 278964),
    ('ExamplePL1/132', 278964),
    ('ExamplePL1/133', 278964),
    ('ExamplePL1/134', 278964),
    ('ExamplePL1/135', 278964),
    ('ExamplePL1/136', 278964),
    ('ExamplePL1/137', 278964),
    ('ExamplePL1/138', 278964),
    ('ExamplePL1/139', 278964),
    ('ExamplePL1/140', 278964),
    ('ExamplePL1/141', 278964),
    ('ExamplePL1/142', 278964),
    ('ExamplePL1/143', 278964),
    ('ExamplePL1/144', 278964),
    ('ExamplePL1/145', 278964),
    ('ExamplePL1/146', 278964),
    ('ExamplePL1/147', 278964),
    ('ExamplePL1/148', 278964),
    ('ExamplePL1/149', 278964),
    ('ExamplePL1/150', 278964),
    ('ExamplePL1/151', 278964),
    ('ExamplePL1/152', 278964),
    ('ExamplePL1/153', 278964),
    ('ExamplePL1/154', 278964),
    ('ExamplePL1/155', 278964),
    ('ExamplePL1/156', 278964),
    ('ExamplePL1/157', 278964),
    ('ExamplePL1/158', 278964),
    ('ExamplePL1/159', 278964),
    ('ExamplePL1/160', 278964),
    ('ExamplePL1/161', 278964),
    ('ExamplePL1/162', 278964),
    ('ExamplePL1/163', 278964),
    ('ExamplePL1/164', 278964),
    ('ExamplePL1/165', 278964),
    ('ExamplePL1/166', 278964),
    ('ExamplePL1/167', 278964),
    ('ExamplePL1/168', 278964),
    ('ExamplePL1/169', 278964),
    ('ExamplePL1/170', 278964),
    ('ExamplePL1/171', 278964),
    ('ExamplePL1/172', 278964),
    ('ExamplePL1/173', 278964),
    ('ExamplePL1/174', 278964),
    ('ExamplePL1/175', 278964),
    ('ExamplePL1/176', 278964),
    ('ExamplePL1/177', 278964),
    ('ExamplePL1/178', 278964),
    ('ExamplePL1/179', 278964),
    ('ExamplePL1/180', 278964),
    ('ExamplePL1/181', 278964),
    ('ExamplePL1/182', 278964),
    ('ExamplePL1/183', 278964),
    ('ExamplePL1/184', 278964),
    ('ExamplePL1/185', 278964),
    ('ExamplePL1/186', 278964),
    ('ExamplePL1/187', 278964),
    ('ExamplePL1/188', 278964),
    ('ExamplePL1/189', 278964),
    ('ExamplePL1/190', 278964),
    ('ExamplePL1/191', 278964),
    ('ExamplePL1/192', 278964),
    ('ExamplePL1/193', 278964),
    ('ExamplePL1/194', 278964),
    ('ExamplePL1/195', 278964),
    ('ExamplePL1/196', 278964),
    ('ExamplePL1/197', 278964),
    ('ExamplePL1/198', 278964),
    ('ExamplePL1/199', 278964),
    ('ExamplePL1/200', 278964),
    ('ExamplePL1/201', 278964),
    ('ExamplePL1/202', 278964),
    ('ExamplePL1/203', 278964),
    ('ExamplePL1/204', 278964),
    ('ExamplePL1/205', 278964),
    ('ExamplePL1/206', 278964),
    ('ExamplePL1/207', 278964),
    ('ExamplePL1/208', 278964),
    ('ExamplePL1/209', 278964),
    ('ExamplePL1/210', 278964),
    ('ExamplePL1/211', 278964),
    ('ExamplePL1/212', 278964),
    ('ExamplePL1/213', 278964),
    ('ExamplePL1/214', 278964),
    ('ExamplePL1/215', 278964),
    ('ExamplePL1/216', 278964),
    ('ExamplePL1/217', 278964),
    ('ExamplePL1/218', 278964),
    ('ExamplePL1/219', 278964),
    ('ExamplePL1/220', 278964),
    ('ExamplePL1/221', 278964),
    ('ExamplePL1/222', 278964),
    ('ExamplePL1/223', 278964),
    ('ExamplePL1/224', 278964),
    ('ExamplePL1/225', 278964),
    ('ExamplePL1/226', 278964),
    ('ExamplePL1/227', 278964),
    ('ExamplePL1/228', 278964),
    ('ExamplePL1/229', 278964),
    ('ExamplePL1/230', 278964),
    ('ExamplePL1/231', 278964),
    ('ExamplePL1/232', 278964),
    ('ExamplePL1/233', 278964),
    ('ExamplePL1/234', 278964),
    ('ExamplePL1/235', 278964),
    ('ExamplePL1/236', 278964),
    ('ExamplePL1/237', 278964),
    ('ExamplePL1/238', 278964),
    ('ExamplePL1/239', 278964),
    ('ExamplePL1/240', 278964),
    ('ExamplePL1/241', 278964),
    ('ExamplePL1/242', 278964),
    ('ExamplePL1/243', 278964),
    ('ExamplePL1/244', 278964),
    ('ExamplePL1/245', 278964),
    ('ExamplePL1/246', 278964),
    ('ExamplePL1/247', 278964),
    ('ExamplePL1/248', 278964),
    ('ExamplePL1/249', 278964),
    ('ExamplePL1/250', 278964),
    ('ExamplePL1/251', 278964),
    ('ExamplePL1/252', 278964),
    ('ExamplePL1/253', 278964),
    ('ExamplePL1/254', 278964),
    ('ExamplePL1/255', 278964),
    ('ExamplePL1/256', 278964),
    ('ExamplePL1/257', 278964),
    ('ExamplePL1/258', 278964),
    ('ExamplePL1/259', 278964),
    ('ExamplePL1/260', 278964),
    ('ExamplePL1/261', 278964),
    ('ExamplePL1/262', 278964),
    ('ExamplePL1/263', 278964),
    ('ExamplePL1/264', 278964),
    ('ExamplePL1/265', 278964),
    ('ExamplePL1/266', 278964),
    ('ExamplePL1/267', 278964),
    ('ExamplePL1/268', 278964),
    ('ExamplePL1/269', 278964),
    ('ExamplePL1/270', 278964),
    ('ExamplePL1/271', 278964),
    ('ExamplePL1/272', 278964),
    ('ExamplePL1/273', 278964),
    ('ExamplePL1/274', 278964),
    ('ExamplePL1/275', 278964),
    ('ExamplePL1/276', 278964),
    ('ExamplePL1/277', 278964),
    ('ExamplePL1/278', 278964),
    ('ExamplePL1/279', 278964),
    ('ExamplePL1/280', 278964),
    ('ExamplePL1/281', 278964),
    ('ExamplePL1/282', 278964),
    ('ExamplePL1/283', 278964),
    ('ExamplePL1/284', 278964),
    ('ExamplePL1/285', 278964),
    ('ExamplePL1/286', 278964),
    ('ExamplePL1/287', 278964),
    ('ExamplePL1/288', 278964),
    ('ExamplePL1/289', 278964),
    ('ExamplePL1/290', 278964),
    ('ExamplePL1/291', 278964),
    ('ExamplePL1/292', 278964),
    ('ExamplePL1/293', 278964),
    ('ExamplePL1/294', 278964),
    ('ExamplePL1/295', 278964),
    ('ExamplePL1/296', 278964),
    ('ExamplePL1/297', 278964),
    ('ExamplePL1/298', 278964),
    ('ExamplePL1/299', 278964),
    ('ExamplePL1/300', 278964),
    ('ExamplePL1/301', 278964),
    ('ExamplePL1/302', 278964),
    ('ExamplePL1/303', 278964),
    ('ExamplePL1/304', 278964),
    ('ExamplePL1/305', 278964),
    ('ExamplePL1/306', 278964),
    ('ExamplePL1/307', 278964),
    ('ExamplePL1/308', 278964),
    ('ExamplePL1/309', 278964),
    ('ExamplePL1/310', 278964),
    ('ExamplePL1/311', 278964),
    ('ExamplePL1/312', 278964),
    ('ExamplePL1/313', 278964),
    ('ExamplePL1/314', 278964),
    ('ExamplePL1/315', 278964),
    ('ExamplePL1/316', 278964),
    ('ExamplePL1/317', 278964),
    ('ExamplePL1/318', 278964),
    ('ExamplePL1/319', 278964),
    ('ExamplePL1/320', 278964),
    ('ExamplePL1/321', 278964),
    ('ExamplePL1/322', 278964),
    ('ExamplePL1/323', 278964),
    ('ExamplePL1/324', 278964),
    ('ExamplePL1/325', 278964),
    ('ExamplePL1/326', 278964),
    ('ExamplePL1/327', 278964),
    ('ExamplePL1/328', 278964),
    ('ExamplePL1/329', 278964),
    ('ExamplePL1/330', 278964),
    ('ExamplePL1/331', 278964),
    ('ExamplePL1/332', 278964),
    ('ExamplePL1/333', 278964),
    ('ExamplePL1/334', 278964),
    ('ExamplePL1/335', 278964),
    ('ExamplePL1/336', 278964),
    ('ExamplePL1/337', 278964),
    ('ExamplePL1/338', 278964),
    ('ExamplePL1/339', 278964),
    ('ExamplePL1/340', 278964),
    ('ExamplePL1/341', 278964),
    ('ExamplePL1/342', 278964),
    ('ExamplePL1/343', 278964),
    ('ExamplePL1/344', 278964),
    ('ExamplePL1/345', 278964),
    ('ExamplePL1/346', 278964),
    ('ExamplePL1/347', 278964),
    ('ExamplePL1/348', 278964),
    ('ExamplePL1/349', 278964),
    ('ExamplePL1/350', 278964),
    ('ExamplePL1/351', 278964),
    ('ExamplePL1/352', 278964),
    ('ExamplePL1/353', 278964),
    ('ExamplePL1/354', 278964),
    ('ExamplePL1/355', 278964),
    ('ExamplePL1/356', 278964),
    ('ExamplePL1/357', 278964),
    ('ExamplePL1/358', 278964),
    ('ExamplePL1/359', 278964),
    ('ExamplePL1/360', 278964),
    ('ExamplePL1/361', 278964),
    ('ExamplePL1/362', 278964),
    ('ExamplePL1/363', 278964),
    ('ExamplePL1/364', 278964),
    ('ExamplePL1/365', 278964),
    ('ExamplePL1/366', 278964),
    ('ExamplePL1/367', 278964),
    ('ExamplePL1/368', 278964),
    ('ExamplePL1/369', 278964),
    ('ExamplePL1/370', 278964),
    ('ExamplePL1/371', 278964),
    ('ExamplePL1/372', 278964),
    ('ExamplePL1/373', 278964),
    ('ExamplePL1/374', 278964),
    ('ExamplePL1/375', 278964),
    ('ExamplePL1/376', 278964),
    ('ExamplePL1/377', 278964),
    ('ExamplePL1/378', 278964),
    ('ExamplePL1/379', 278964),
    ('ExamplePL1/380', 278964),
    ('ExamplePL1/381', 278964),
    ('ExamplePL1/382', 278964),
    ('ExamplePL1/383', 278964),
    ('ExamplePL1/384', 278964),
    ('ExamplePL1/385', 278964),
    ('ExamplePL1/386', 278964),
    ('ExamplePL1/387', 278964),
    ('ExamplePL1/388', 278964),
    ('ExamplePL1/389', 278964),
    ('ExamplePL1/390', 278964),
    ('ExamplePL1/391', 278964),
    ('ExamplePL1/392', 278964),
    ('ExamplePL1/393', 278964),
    ('ExamplePL1/394', 278964),
    ('ExamplePL1/395', 278964),
    ('ExamplePL1/396', 278964),
    ('ExamplePL1/397', 278964),
    ('ExamplePL1/398', 278964),
    ('ExamplePL1/399', 278964),
    ('ExamplePL1/400', 278964),
    ('ExamplePL1/401', 278964),
    ('ExamplePL1/402', 278964),
    ('ExamplePL1/403', 278964),
    ('ExamplePL1/404', 278964),
    ('ExamplePL1/405', 278964),
    ('ExamplePL1/406', 278964),
    ('ExamplePL1/407', 278964),
    ('ExamplePL1/408', 278964),
    ('ExamplePL1/409', 278964),
    ('ExamplePL1/410', 278964),
    ('ExamplePL1/411', 278964),
    ('ExamplePL1/412', 278964),
    ('ExamplePL1/413', 278964),
    ('ExamplePL1/414', 278964),
    ('ExamplePL1/415', 278964),
    ('ExamplePL1/416', 278964),
    ('ExamplePL1/417', 278964),
    ('ExamplePL1/418', 278964),
    ('ExamplePL1/419', 278964),
    ('ExamplePL1/420', 278964),
    ('ExamplePL1/421', 278964),
    ('ExamplePL1/422', 278964),
    ('ExamplePL1/423', 278964),
    ('ExamplePL1/424', 278964),
    ('ExamplePL1/425', 278964),
    ('ExamplePL1/426', 278964),
    ('ExamplePL1/427', 278964),
    ('ExamplePL1/428', 278964),
    ('ExamplePL1/429', 278964),
    ('ExamplePL1/430', 278964),
    ('ExamplePL1/431', 278964),
    ('ExamplePL1/432', 278964),
    ('ExamplePL1/433', 278964),
    ('ExamplePL1/434', 278964),
    ('ExamplePL1/435', 278964),
    ('ExamplePL1/436', 278964),
    ('ExamplePL1/437', 278964),
    ('ExamplePL1/438', 278964),
    ('ExamplePL1/439', 278964),
    ('ExamplePL1/440', 278964),
    ('ExamplePL1/441', 278964),
    ('ExamplePL1/442', 278964),
    ('ExamplePL1/443', 278964),
    ('ExamplePL1/444', 278964),
    ('ExamplePL1/445', 278964),
    ('ExamplePL1/446', 278964),
    ('ExamplePL1/447', 278964),
    ('ExamplePL1/448', 278964),
    ('ExamplePL1/449', 278964),
    ('ExamplePL1/450', 278964),
    ('ExamplePL1/451', 278964),
    ('ExamplePL1/452', 278964),
    ('ExamplePL1/453', 278964),
    ('ExamplePL1/454', 278964),
    ('ExamplePL1/455', 278964),
    ('ExamplePL1/456', 278964),
    ('ExamplePL1/457', 278964),
    ('ExamplePL1/458', 278964),
    ('ExamplePL1/459', 278964),
    ('ExamplePL1/460', 278964),
    ('ExamplePL1/461', 278964),
    ('ExamplePL1/462', 278964),
    ('ExamplePL1/463', 278964),
    ('ExamplePL1/464', 278964),
    ('ExamplePL1/465', 278964),
    ('ExamplePL1/466', 278964),
    ('ExamplePL1/467', 278964),
    ('ExamplePL1/468', 278964),
    ('ExamplePL1/469', 278964),
    ('ExamplePL1/470', 278964),
    ('ExamplePL1/471', 278964),
    ('ExamplePL1/472', 278964),
    ('ExamplePL1/473', 278964),
    ('ExamplePL1/474', 278964),
    ('ExamplePL1/475', 278964),
    ('ExamplePL1/476', 278964),
    ('ExamplePL1/477', 278964),
    ('ExamplePL1/478', 278964),
    ('ExamplePL1/479', 278964),
    ('ExamplePL1/480', 278964),
    ('ExamplePL1/481', 278964),
    ('ExamplePL1/482', 278964),
    ('ExamplePL1/483', 278964),
    ('ExamplePL1/484', 278964),
    ('ExamplePL1/485', 278964),
    ('ExamplePL1/486', 278964),
    ('ExamplePL1/487', 278964),
    ('ExamplePL1/488', 278964),
    ('ExamplePL1/489', 278964),
    ('ExamplePL1/490', 278964),
    ('ExamplePL1/491', 278964),
    ('ExamplePL1/492', 278964),
    ('ExamplePL1/493', 278964),
    ('ExamplePL1/494', 278964),
    ('ExamplePL1/495', 278964),
    ('ExamplePL1/496', 278964),
    ('ExamplePL1/497', 278964),
    ('ExamplePL1/498', 278964),
    ('ExamplePL1/499', 278964)
ON CONFLICT ("project_id", "name")
    DO NOTHING
RETURNING
    "name", "id";

query plan

custom_software_licenses Select

SELECT
    "custom_software_licenses".*
FROM
    "custom_software_licenses"
WHERE
    "custom_software_licenses"."name" IN ('ExamplePL1/0', 'ExamplePL1/1', 'ExamplePL1/2', 'ExamplePL1/3', 'ExamplePL1/4', 'ExamplePL1/5', 'ExamplePL1/6', 'ExamplePL1/7', 'ExamplePL1/8', 'ExamplePL1/9', 'ExamplePL1/10', 'ExamplePL1/11', 'ExamplePL1/12', 'ExamplePL1/13', 'ExamplePL1/14', 'ExamplePL1/15', 'ExamplePL1/16', 'ExamplePL1/17', 'ExamplePL1/18', 'ExamplePL1/19', 'ExamplePL1/20', 'ExamplePL1/21', 'ExamplePL1/22', 'ExamplePL1/23', 'ExamplePL1/24', 'ExamplePL1/25', 'ExamplePL1/26', 'ExamplePL1/27', 'ExamplePL1/28', 'ExamplePL1/29', 'ExamplePL1/30', 'ExamplePL1/31', 'ExamplePL1/32', 'ExamplePL1/33', 'ExamplePL1/34', 'ExamplePL1/35', 'ExamplePL1/36', 'ExamplePL1/37', 'ExamplePL1/38', 'ExamplePL1/39', 'ExamplePL1/40', 'ExamplePL1/41', 'ExamplePL1/42', 'ExamplePL1/43', 'ExamplePL1/44', 'ExamplePL1/45', 'ExamplePL1/46', 'ExamplePL1/47', 'ExamplePL1/48', 'ExamplePL1/49', 'ExamplePL1/50', 'ExamplePL1/51', 'ExamplePL1/52', 'ExamplePL1/53', 'ExamplePL1/54', 'ExamplePL1/55', 'ExamplePL1/56', 'ExamplePL1/57', 'ExamplePL1/58', 'ExamplePL1/59', 'ExamplePL1/60', 'ExamplePL1/61', 'ExamplePL1/62', 'ExamplePL1/63', 'ExamplePL1/64', 'ExamplePL1/65', 'ExamplePL1/66', 'ExamplePL1/67', 'ExamplePL1/68', 'ExamplePL1/69', 'ExamplePL1/70', 'ExamplePL1/71', 'ExamplePL1/72', 'ExamplePL1/73', 'ExamplePL1/74', 'ExamplePL1/75', 'ExamplePL1/76', 'ExamplePL1/77', 'ExamplePL1/78', 'ExamplePL1/79', 'ExamplePL1/80', 'ExamplePL1/81', 'ExamplePL1/82', 'ExamplePL1/83', 'ExamplePL1/84', 'ExamplePL1/85', 'ExamplePL1/86', 'ExamplePL1/87', 'ExamplePL1/88', 'ExamplePL1/89', 'ExamplePL1/90', 'ExamplePL1/91', 'ExamplePL1/92', 'ExamplePL1/93', 'ExamplePL1/94', 'ExamplePL1/95', 'ExamplePL1/96', 'ExamplePL1/97', 'ExamplePL1/98', 'ExamplePL1/99', 'ExamplePL1/100', 'ExamplePL1/101', 'ExamplePL1/102', 'ExamplePL1/103', 'ExamplePL1/104', 'ExamplePL1/105', 'ExamplePL1/106', 'ExamplePL1/107', 'ExamplePL1/108', 'ExamplePL1/109', 'ExamplePL1/110', 'ExamplePL1/111', 'ExamplePL1/112', 'ExamplePL1/113', 'ExamplePL1/114', 'ExamplePL1/115', 'ExamplePL1/116', 'ExamplePL1/117', 'ExamplePL1/118', 'ExamplePL1/119', 'ExamplePL1/120', 'ExamplePL1/121', 'ExamplePL1/122', 'ExamplePL1/123', 'ExamplePL1/124', 'ExamplePL1/125', 'ExamplePL1/126', 'ExamplePL1/127', 'ExamplePL1/128', 'ExamplePL1/129', 'ExamplePL1/130', 'ExamplePL1/131', 'ExamplePL1/132', 'ExamplePL1/133', 'ExamplePL1/134', 'ExamplePL1/135', 'ExamplePL1/136', 'ExamplePL1/137', 'ExamplePL1/138', 'ExamplePL1/139', 'ExamplePL1/140', 'ExamplePL1/141', 'ExamplePL1/142', 'ExamplePL1/143', 'ExamplePL1/144', 'ExamplePL1/145', 'ExamplePL1/146', 'ExamplePL1/147', 'ExamplePL1/148', 'ExamplePL1/149', 'ExamplePL1/150', 'ExamplePL1/151', 'ExamplePL1/152', 'ExamplePL1/153', 'ExamplePL1/154', 'ExamplePL1/155', 'ExamplePL1/156', 'ExamplePL1/157', 'ExamplePL1/158', 'ExamplePL1/159', 'ExamplePL1/160', 'ExamplePL1/161', 'ExamplePL1/162', 'ExamplePL1/163', 'ExamplePL1/164', 'ExamplePL1/165', 'ExamplePL1/166', 'ExamplePL1/167', 'ExamplePL1/168', 'ExamplePL1/169', 'ExamplePL1/170', 'ExamplePL1/171', 'ExamplePL1/172', 'ExamplePL1/173', 'ExamplePL1/174', 'ExamplePL1/175', 'ExamplePL1/176', 'ExamplePL1/177', 'ExamplePL1/178', 'ExamplePL1/179', 'ExamplePL1/180', 'ExamplePL1/181', 'ExamplePL1/182', 'ExamplePL1/183', 'ExamplePL1/184', 'ExamplePL1/185', 'ExamplePL1/186', 'ExamplePL1/187', 'ExamplePL1/188', 'ExamplePL1/189', 'ExamplePL1/190', 'ExamplePL1/191', 'ExamplePL1/192', 'ExamplePL1/193', 'ExamplePL1/194', 'ExamplePL1/195', 'ExamplePL1/196', 'ExamplePL1/197', 'ExamplePL1/198', 'ExamplePL1/199', 'ExamplePL1/200', 'ExamplePL1/201', 'ExamplePL1/202', 'ExamplePL1/203', 'ExamplePL1/204', 'ExamplePL1/205', 'ExamplePL1/206', 'ExamplePL1/207', 'ExamplePL1/208', 'ExamplePL1/209', 'ExamplePL1/210', 'ExamplePL1/211', 'ExamplePL1/212', 'ExamplePL1/213', 'ExamplePL1/214', 'ExamplePL1/215', 'ExamplePL1/216', 'ExamplePL1/217', 'ExamplePL1/218', 'ExamplePL1/219', 'ExamplePL1/220', 'ExamplePL1/221', 'ExamplePL1/222', 'ExamplePL1/223', 'ExamplePL1/224', 'ExamplePL1/225', 'ExamplePL1/226', 'ExamplePL1/227', 'ExamplePL1/228', 'ExamplePL1/229', 'ExamplePL1/230', 'ExamplePL1/231', 'ExamplePL1/232', 'ExamplePL1/233', 'ExamplePL1/234', 'ExamplePL1/235', 'ExamplePL1/236', 'ExamplePL1/237', 'ExamplePL1/238', 'ExamplePL1/239', 'ExamplePL1/240', 'ExamplePL1/241', 'ExamplePL1/242', 'ExamplePL1/243', 'ExamplePL1/244', 'ExamplePL1/245', 'ExamplePL1/246', 'ExamplePL1/247', 'ExamplePL1/248', 'ExamplePL1/249', 'ExamplePL1/250', 'ExamplePL1/251', 'ExamplePL1/252', 'ExamplePL1/253', 'ExamplePL1/254', 'ExamplePL1/255', 'ExamplePL1/256', 'ExamplePL1/257', 'ExamplePL1/258', 'ExamplePL1/259', 'ExamplePL1/260', 'ExamplePL1/261', 'ExamplePL1/262', 'ExamplePL1/263', 'ExamplePL1/264', 'ExamplePL1/265', 'ExamplePL1/266', 'ExamplePL1/267', 'ExamplePL1/268', 'ExamplePL1/269', 'ExamplePL1/270', 'ExamplePL1/271', 'ExamplePL1/272', 'ExamplePL1/273', 'ExamplePL1/274', 'ExamplePL1/275', 'ExamplePL1/276', 'ExamplePL1/277', 'ExamplePL1/278', 'ExamplePL1/279', 'ExamplePL1/280', 'ExamplePL1/281', 'ExamplePL1/282', 'ExamplePL1/283', 'ExamplePL1/284', 'ExamplePL1/285', 'ExamplePL1/286', 'ExamplePL1/287', 'ExamplePL1/288', 'ExamplePL1/289', 'ExamplePL1/290', 'ExamplePL1/291', 'ExamplePL1/292', 'ExamplePL1/293', 'ExamplePL1/294', 'ExamplePL1/295', 'ExamplePL1/296', 'ExamplePL1/297', 'ExamplePL1/298', 'ExamplePL1/299', 'ExamplePL1/300', 'ExamplePL1/301', 'ExamplePL1/302', 'ExamplePL1/303', 'ExamplePL1/304', 'ExamplePL1/305', 'ExamplePL1/306', 'ExamplePL1/307', 'ExamplePL1/308', 'ExamplePL1/309', 'ExamplePL1/310', 'ExamplePL1/311', 'ExamplePL1/312', 'ExamplePL1/313', 'ExamplePL1/314', 'ExamplePL1/315', 'ExamplePL1/316', 'ExamplePL1/317', 'ExamplePL1/318', 'ExamplePL1/319', 'ExamplePL1/320', 'ExamplePL1/321', 'ExamplePL1/322', 'ExamplePL1/323', 'ExamplePL1/324', 'ExamplePL1/325', 'ExamplePL1/326', 'ExamplePL1/327', 'ExamplePL1/328', 'ExamplePL1/329', 'ExamplePL1/330', 'ExamplePL1/331', 'ExamplePL1/332', 'ExamplePL1/333', 'ExamplePL1/334', 'ExamplePL1/335', 'ExamplePL1/336', 'ExamplePL1/337', 'ExamplePL1/338', 'ExamplePL1/339', 'ExamplePL1/340', 'ExamplePL1/341', 'ExamplePL1/342', 'ExamplePL1/343', 'ExamplePL1/344', 'ExamplePL1/345', 'ExamplePL1/346', 'ExamplePL1/347', 'ExamplePL1/348', 'ExamplePL1/349', 'ExamplePL1/350', 'ExamplePL1/351', 'ExamplePL1/352', 'ExamplePL1/353', 'ExamplePL1/354', 'ExamplePL1/355', 'ExamplePL1/356', 'ExamplePL1/357', 'ExamplePL1/358', 'ExamplePL1/359', 'ExamplePL1/360', 'ExamplePL1/361', 'ExamplePL1/362', 'ExamplePL1/363', 'ExamplePL1/364', 'ExamplePL1/365', 'ExamplePL1/366', 'ExamplePL1/367', 'ExamplePL1/368', 'ExamplePL1/369', 'ExamplePL1/370', 'ExamplePL1/371', 'ExamplePL1/372', 'ExamplePL1/373', 'ExamplePL1/374', 'ExamplePL1/375', 'ExamplePL1/376', 'ExamplePL1/377', 'ExamplePL1/378', 'ExamplePL1/379', 'ExamplePL1/380', 'ExamplePL1/381', 'ExamplePL1/382', 'ExamplePL1/383', 'ExamplePL1/384', 'ExamplePL1/385', 'ExamplePL1/386', 'ExamplePL1/387', 'ExamplePL1/388', 'ExamplePL1/389', 'ExamplePL1/390', 'ExamplePL1/391', 'ExamplePL1/392', 'ExamplePL1/393', 'ExamplePL1/394', 'ExamplePL1/395', 'ExamplePL1/396', 'ExamplePL1/397', 'ExamplePL1/398', 'ExamplePL1/399', 'ExamplePL1/400', 'ExamplePL1/401', 'ExamplePL1/402', 'ExamplePL1/403', 'ExamplePL1/404', 'ExamplePL1/405', 'ExamplePL1/406', 'ExamplePL1/407', 'ExamplePL1/408', 'ExamplePL1/409', 'ExamplePL1/410', 'ExamplePL1/411', 'ExamplePL1/412', 'ExamplePL1/413', 'ExamplePL1/414', 'ExamplePL1/415', 'ExamplePL1/416', 'ExamplePL1/417', 'ExamplePL1/418', 'ExamplePL1/419', 'ExamplePL1/420', 'ExamplePL1/421', 'ExamplePL1/422', 'ExamplePL1/423', 'ExamplePL1/424', 'ExamplePL1/425', 'ExamplePL1/426', 'ExamplePL1/427', 'ExamplePL1/428', 'ExamplePL1/429', 'ExamplePL1/430', 'ExamplePL1/431', 'ExamplePL1/432', 'ExamplePL1/433', 'ExamplePL1/434', 'ExamplePL1/435', 'ExamplePL1/436', 'ExamplePL1/437', 'ExamplePL1/438', 'ExamplePL1/439', 'ExamplePL1/440', 'ExamplePL1/441', 'ExamplePL1/442', 'ExamplePL1/443', 'ExamplePL1/444', 'ExamplePL1/445', 'ExamplePL1/446', 'ExamplePL1/447', 'ExamplePL1/448', 'ExamplePL1/449', 'ExamplePL1/450', 'ExamplePL1/451', 'ExamplePL1/452', 'ExamplePL1/453', 'ExamplePL1/454', 'ExamplePL1/455', 'ExamplePL1/456', 'ExamplePL1/457', 'ExamplePL1/458', 'ExamplePL1/459', 'ExamplePL1/460', 'ExamplePL1/461', 'ExamplePL1/462', 'ExamplePL1/463', 'ExamplePL1/464', 'ExamplePL1/465', 'ExamplePL1/466', 'ExamplePL1/467', 'ExamplePL1/468', 'ExamplePL1/469', 'ExamplePL1/470', 'ExamplePL1/471', 'ExamplePL1/472', 'ExamplePL1/473', 'ExamplePL1/474', 'ExamplePL1/475', 'ExamplePL1/476', 'ExamplePL1/477', 'ExamplePL1/478', 'ExamplePL1/479', 'ExamplePL1/480', 'ExamplePL1/481', 'ExamplePL1/482', 'ExamplePL1/483', 'ExamplePL1/484', 'ExamplePL1/485', 'ExamplePL1/486', 'ExamplePL1/487', 'ExamplePL1/488', 'ExamplePL1/489', 'ExamplePL1/490', 'ExamplePL1/491', 'ExamplePL1/492', 'ExamplePL1/493', 'ExamplePL1/494', 'ExamplePL1/495', 'ExamplePL1/496', 'ExamplePL1/497', 'ExamplePL1/498', 'ExamplePL1/499')
    AND "custom_software_licenses"."project_id" = 278964;

query plan

software_license_policies insert

INSERT INTO "software_license_policies" ("project_id", "classification", "scan_result_policy_id", "custom_software_license_id", "software_license_id", "created_at", "updated_at")
    VALUES (278964, 0, NULL, 501, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 502, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 503, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 504, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 505, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 506, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 507, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 508, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 509, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 510, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 511, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 512, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 513, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 514, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 515, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 516, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 517, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 518, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 519, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 520, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 521, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 522, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 523, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 524, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 525, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 526, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 527, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 528, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 529, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 530, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 531, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 532, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 533, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 534, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 535, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 536, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 537, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 538, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 539, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 540, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 541, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 542, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 543, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 544, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 545, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 546, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 547, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 548, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 549, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 550, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 551, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 552, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 553, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 554, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 555, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 556, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 557, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 558, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 559, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 560, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 561, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 562, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 563, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 564, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 565, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 566, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 567, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 568, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 569, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 570, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 571, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 572, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 573, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 574, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 575, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 576, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 577, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 578, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 579, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 580, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 581, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 582, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 583, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 584, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 585, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 586, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 587, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 588, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 589, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 590, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 591, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 592, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 593, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 594, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 595, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 596, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 597, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 598, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 599, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 600, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 601, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 602, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 603, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 604, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 605, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 606, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 607, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 608, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 609, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 610, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 611, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 612, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 613, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 614, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 615, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 616, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 617, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 618, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 619, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 620, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 621, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 622, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 623, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 624, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, 625, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 346, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 347, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 348, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 349, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 350, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 351, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 352, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 353, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 354, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 355, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 357, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 358, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 359, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 393, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 395, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 397, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 400, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 433, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 434, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 435, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 436, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 437, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 438, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 439, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 440, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 441, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 442, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 443, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 444, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 445, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 448, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 449, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 450, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 483, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 485, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 486, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 490, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 588, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 589, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 590, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 591, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 592, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 593, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 594, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 595, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 596, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 597, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 598, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 599, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 600, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 601, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 602, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 603, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 604, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 605, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 606, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 607, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 608, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 609, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 610, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 611, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 612, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 613, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 614, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 615, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 616, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 617, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 618, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 619, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 620, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 621, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 622, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 623, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 624, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 625, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 626, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 627, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 628, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 629, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 630, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 631, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 632, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 633, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 634, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 635, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 636, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 637, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 638, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 639, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 640, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 641, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 642, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 643, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 644, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 645, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 646, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 647, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 648, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 649, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 650, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 651, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 652, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 653, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 654, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 655, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 656, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 657, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 658, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 659, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 660, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 661, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 662, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 663, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 664, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 665, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 666, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 667, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 668, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 669, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 670, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 671, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 672, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 673, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 674, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
    (278964, 0, NULL, NULL, 675, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
ON CONFLICT
    DO NOTHING
RETURNING
    "id";

query plan

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

  1. Enable the bulk_create_scan_result_policies and custom_software_license feature flags on the rails console
Feature.enable(:bulk_create_scan_result_policies)
Feature.enable(:custom_software_license)
  1. Create a new project
  2. Go to Secure > Policies
  3. Click in New policy
  4. Select Merge request approval policy
  5. Create a policy with an existing and a new license:

Something like:

type: approval_policy
name: policy
description: ''
enabled: true
rules:
  - type: license_finding
    match_on_inclusion_license: true
    license_types:
      - 3dfx Glide License
      - New Custom License 3
      - New Custom License 4
      - New Custom License 5
    license_states:
      - newly_detected
    branch_type: default
actions:
  - type: require_approval
    approvals_required: 1
    role_approvers:
      - developer
  - type: send_bot_message
    enabled: true
approval_settings:
  block_branch_modification: true
  prevent_pushing_and_force_pushing: true
fallback_behavior:
  fail: closed

If you don't have any license in the license dropdown follow this guide to add the SPDX licenses.

  1. Check if the new custom licenses were saved in the custom_software_license table
Security::CustomSoftwareLicense.last(3)
 Security::CustomSoftwareLicense Load (19.8ms)  SELECT "custom_software_licenses".* FROM "custom_software_licenses" ORDER BY "custom_software_licenses"."id" DESC LIMIT 3 
=> [#<Security::CustomSoftwareLicense:0x00000003011d7640 id: 12, project_id: 897, name: "New Custom License 3">,
 #<Security::CustomSoftwareLicense:0x00000003011d76e0 id: 13, project_id: 897, name: "New Custom License 4">,
 #<Security::CustomSoftwareLicense:0x00000003011d7780 id: 14, project_id: 897, name: "New Custom License 5">]
  1. Check the last 4 SoftwareLicensePolicy records
SoftwareLicensePolicy.last(4)

One should be linked to the existing software_license

 #<SoftwareLicensePolicy:0x00000003011d1ba0
  id: 38015,
  project_id: 897,
  software_license_id: 177,
  classification: "denied",
  created_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  updated_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  scan_result_policy_id: 714,
  custom_software_license_id: nil>]

The other three should be linked to the new custom_software_licenses

 => [#<SoftwareLicensePolicy:0x00000003011d19c0
  id: 38012,
  project_id: 897,
  software_license_id: nil,
  classification: "denied",
  created_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  updated_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  scan_result_policy_id: 714,
  custom_software_license_id: 12>,
 #<SoftwareLicensePolicy:0x00000003011d1a60
  id: 38013,
  project_id: 897,
  software_license_id: nil,
  classification: "denied",
  created_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  updated_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  scan_result_policy_id: 714,
  custom_software_license_id: 13>,
 #<SoftwareLicensePolicy:0x00000003011d1b00
  id: 38014,
  project_id: 897,
  software_license_id: nil,
  classification: "denied",
  created_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  updated_at: Thu, 06 Jun 2024 14:01:40.748584000 UTC +00:00,
  scan_result_policy_id: 714,
  custom_software_license_id: 14>,
  1. Check that the custom_software_licenses were bulk inserted
grep "INSERT INTO \"custom_software_licenses" log/development.log
 INSERT INTO "custom_software_licenses" ("name","project_id") VALUES ('New Custom License 3', 897), ('New Custom License 4', 897), ('New Custom License 5', 897) ON CONFLICT ("project_id","name") DO NOTHING RETURNING "name","id"
  1. Check that the software_license_policies were bulk inserted with both software_license_policies with existing software_license and the new custom_software_license.
grep "INSERT INTO \"custom_software_licenses" log/development.log
 INSERT INTO "software_license_policies" ("project_id","classification","scan_result_policy_id","custom_software_license_id","software_license_id","created_at","updated_at") VALUES (897, 0, 714, 12, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), (897, 0, 714, 13, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), (897, 0, 714, 14, NULL, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP), (897, 0, 714, NULL, 177, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) ON CONFLICT  DO NOTHING RETURNING "id" 
Edited by Marcos Rocha

Merge request reports