47 lines
899 B
SQL
47 lines
899 B
SQL
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;
|