diff --git a/Database/Fixtures/dev/0004-ProblemSetups.sql b/Database/Fixtures/dev/0004-ProblemSetups.sql index a47b581..1be74a9 100644 --- a/Database/Fixtures/dev/0004-ProblemSetups.sql +++ b/Database/Fixtures/dev/0004-ProblemSetups.sql @@ -71,6 +71,4 @@ FROM problem_setups ps JOIN programming_languages pl ON pl.id = plv.programming_language_id JOIN test_suites ts ON ts.name = 'Hello or Goodbye hidden tests' WHERE p.slug = 'hello-or-goodbye' - AND pl.name = 'JavaScript' - AND plv.version = 'Node.js 22.08.0' ON CONFLICT (problem_setup_id, test_suite_id) DO NOTHING; \ No newline at end of file diff --git a/Database/Reference/R0005-ProgrammingLanguages.sql b/Database/Reference/R0005-ProgrammingLanguages.sql index b6852b5..232380b 100644 --- a/Database/Reference/R0005-ProgrammingLanguages.sql +++ b/Database/Reference/R0005-ProgrammingLanguages.sql @@ -1,9 +1,23 @@ +-- Migrate version strings that no longer match available Judge0 versions +UPDATE programming_language_versions +SET version = '17.0.6' +WHERE programming_language_id = (SELECT id FROM programming_languages WHERE name = 'Java') + AND version = '21.0.5'; + +UPDATE programming_language_versions +SET version = '1.23.5' +WHERE programming_language_id = (SELECT id FROM programming_languages WHERE name = 'Go') + AND version = '1.23'; + INSERT INTO programming_languages (id, name) VALUES (1, 'JavaScript'), (2, 'TypeScript'), - (3, 'Python') + (3, 'Python'), + (4, 'Java'), + (5, 'C++'), + (6, 'Go') ON CONFLICT (name) DO UPDATE SET name = EXCLUDED.name; @@ -16,7 +30,23 @@ WITH source(id, language, version, initial_code) AS ( }'), (3, 'Python', '3.14.0', 'def solution(): -') +'), + (4, 'Java', '17.0.6', 'public class Solution { + public static Object solution() { + + } +}'), + (5, 'C++', '17', '#include +using namespace std; + +auto solution() { + +}'), + (6, 'Go', '1.23.5', 'package main + +func solution() { + +}') ) INSERT INTO programming_language_versions (id, programming_language_id, version, initial_code) SELECT @@ -29,4 +59,4 @@ JOIN programming_languages l ON l.name = s.language ON CONFLICT (programming_language_id, version) DO UPDATE SET - initial_code = EXCLUDED.initial_code; \ No newline at end of file + initial_code = EXCLUDED.initial_code; diff --git a/Database/Reference/R0006-CreateHarnessTemplates.sql b/Database/Reference/R0006-CreateHarnessTemplates.sql index 4b51d4e..572efee 100644 --- a/Database/Reference/R0006-CreateHarnessTemplates.sql +++ b/Database/Reference/R0006-CreateHarnessTemplates.sql @@ -18,8 +18,10 @@ import json data = sys.stdin.read() args = json.loads(data) +if not isinstance(args, list): + args = [args] result = {{FUNCTION_NAME}}(*args) -print(result);' +print(result)' ) ON CONFLICT (id) DO UPDATE SET template = EXCLUDED.template; \ No newline at end of file diff --git a/Database/Reference/R0007-CodeExecutionEngines.sql b/Database/Reference/R0007-CodeExecutionEngines.sql index ce3f2bd..3b97acf 100644 --- a/Database/Reference/R0007-CodeExecutionEngines.sql +++ b/Database/Reference/R0007-CodeExecutionEngines.sql @@ -8,9 +8,12 @@ WHERE WITH source (language, version, engine_name, engine_language_id, engine_language_name) AS ( VALUES - ('JavaScript', 'Node.js 22.08.0', 'judge0', 63, 'JavaScript (Node.js 12.14.0)'), - ('TypeScript', '5.6.2', 'judge0', 74, 'TypeScript (5.6.2)'), - ('Python', '3.14.0', 'judge0', 71, 'Python (3.8.1)') + ('JavaScript', 'Node.js 22.08.0', 'judge0', 102, 'JavaScript (Node.js 22.08.0)'), + ('TypeScript', '5.6.2', 'judge0', 101, 'TypeScript (5.6.2)'), + ('Python', '3.14.0', 'judge0', 113, 'Python (3.14.0)'), + ('Java', '17.0.6', 'judge0', 91, 'Java (JDK 17.0.6)'), + ('C++', '17', 'judge0', 105, 'C++ (GCC 14.1.0)'), + ('Go', '1.23.5', 'judge0', 107, 'Go (1.23.5)') ) INSERT INTO language_version_engine_mappings (programming_language_version_id, engine_id, engine_language_id, engine_language_name)