47 lines
899 B
MySQL
47 lines
899 B
MySQL
![]() |
WITH insertable_implementations (
|
||
|
identifier,
|
||
|
label,
|
||
|
implementation_identifier
|
||
|
) AS (
|
||
|
VALUES
|
||
|
('perl6', 'Rakudo', 'rakudo'),
|
||
|
('python3', 'CPython', 'cpython'),
|
||
|
('rust', 'rustc', 'rustc'),
|
||
|
('sh', 'sh', 'sh'),
|
||
|
('sqlite', 'SQLite', 'sqlite')
|
||
|
),
|
||
|
insert_implementations AS (
|
||
|
INSERT INTO
|
||
|
implementations (language_id, label, identifier)
|
||
|
SELECT
|
||
|
language_id,
|
||
|
label,
|
||
|
implementation_identifier
|
||
|
FROM
|
||
|
insertable_implementations
|
||
|
JOIN languages USING (identifier)
|
||
|
RETURNING implementation_id, language_id
|
||
|
)
|
||
|
INSERT INTO
|
||
|
implementation_wrappers (
|
||
|
implementation_id,
|
||
|
identifier,
|
||
|
label,
|
||
|
code,
|
||
|
ordering,
|
||
|
is_formatter,
|
||
|
is_asm
|
||
|
)
|
||
|
SELECT
|
||
|
implementation_id,
|
||
|
identifier,
|
||
|
label,
|
||
|
code,
|
||
|
ordering,
|
||
|
is_formatter,
|
||
|
is_asm
|
||
|
FROM
|
||
|
insert_implementations
|
||
|
JOIN shared_wrappers USING (language_id);
|
||
|
DROP TABLE shared_wrappers;
|