From 4674a3e03fbb27723d016c90e9ea9be73b78a2c3 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 1 Nov 2026 21:23:32 +0000 Subject: Remove explicit database schema on query definition --- .../ast/untyped/UntypedQueryDefinitionNodeMatcher.java | 6 ------ .../hobgoblin/compiler/parser/ParserQueryDefinitionTests.java | 10 +++------- .../compiler/typechecker/TypeCheckerQueryDefinitionTests.java | 7 ++++--- 3 files changed, 7 insertions(+), 16 deletions(-) (limited to 'src/test') diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedQueryDefinitionNodeMatcher.java b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedQueryDefinitionNodeMatcher.java index 2e0ab23..adcc2d9 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedQueryDefinitionNodeMatcher.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/ast/untyped/UntypedQueryDefinitionNodeMatcher.java @@ -36,12 +36,6 @@ public final class UntypedQueryDefinitionNodeMatcher implements org.zwobble.prec return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNodeMatcher(submatchers); } - public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNodeMatcher withDatabaseSchema(org.zwobble.precisely.Matcher databaseSchema) { - var submatchers = new java.util.ArrayList>(this.submatchers); - submatchers.add(org.zwobble.precisely.Matchers.has("databaseSchema", org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNode::databaseSchema, (org.zwobble.precisely.Matcher) databaseSchema)); - return new org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNodeMatcher(submatchers); - } - public org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNodeMatcher withStatements(org.zwobble.precisely.Matcher> statements) { var submatchers = new java.util.ArrayList>(this.submatchers); submatchers.add(org.zwobble.precisely.Matchers.has("statements", org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNode::statements, (org.zwobble.precisely.Matcher) statements)); diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserQueryDefinitionTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserQueryDefinitionTests.java index e7676c9..e5b5a45 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserQueryDefinitionTests.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/parser/ParserQueryDefinitionTests.java @@ -5,7 +5,6 @@ import org.junit.jupiter.api.Test; import static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNodeMatcher.isUntypedQueryDefinitionNode; import static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedReferenceNodeMatcher.isUntypedReferenceNode; import static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedReturnNodeMatcher.isUntypedReturnNode; -import static org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNodeMatcher.isUntypedTypeLevelReferenceNode; import static org.zwobble.hobgoblin.compiler.parser.ParserTesting.parseString; import static org.zwobble.precisely.AssertThat.assertThat; import static org.zwobble.precisely.Matchers.equalTo; @@ -15,14 +14,13 @@ public class ParserQueryDefinitionTests { @Test public void canParseQueryDefinitionWithNoStatements() { var source = """ - query allAuthors() on BlogAppDatabase { + query allAuthors() { }"""; var node = parseString(source, Parser::parseNamespaceStatement); assertThat(node, isUntypedQueryDefinitionNode() .withName(equalTo("allAuthors")) - .withDatabaseSchema(isUntypedTypeLevelReferenceNode().withName(equalTo("BlogAppDatabase"))) .withStatements(isSequence()) ); } @@ -30,7 +28,7 @@ public class ParserQueryDefinitionTests { @Test public void canParseQueryDefinitionWithSingleStatement() { var source = """ - query allAuthors() on BlogAppDatabase { + query allAuthors() { return x; }"""; @@ -38,7 +36,6 @@ public class ParserQueryDefinitionTests { assertThat(node, isUntypedQueryDefinitionNode() .withName(equalTo("allAuthors")) - .withDatabaseSchema(isUntypedTypeLevelReferenceNode().withName(equalTo("BlogAppDatabase"))) .withStatements(isSequence( isUntypedReturnNode() .withExpression(isUntypedReferenceNode() @@ -52,7 +49,7 @@ public class ParserQueryDefinitionTests { @Test public void canParseQueryDefinitionWithMultipleStatements() { var source = """ - query allAuthors() on BlogAppDatabase { + query allAuthors() { return x; return y; }"""; @@ -61,7 +58,6 @@ public class ParserQueryDefinitionTests { assertThat(node, isUntypedQueryDefinitionNode() .withName(equalTo("allAuthors")) - .withDatabaseSchema(isUntypedTypeLevelReferenceNode().withName(equalTo("BlogAppDatabase"))) .withStatements(isSequence( isUntypedReturnNode() .withExpression(isUntypedReferenceNode() diff --git a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerQueryDefinitionTests.java b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerQueryDefinitionTests.java index 66be9a7..43ffb04 100644 --- a/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerQueryDefinitionTests.java +++ b/src/test/java/org/zwobble/hobgoblin/compiler/typechecker/TypeCheckerQueryDefinitionTests.java @@ -4,9 +4,11 @@ import org.junit.jupiter.api.Test; import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedQueryDefinitionNode; import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedReferenceNode; import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedReturnNode; -import org.zwobble.hobgoblin.compiler.ast.untyped.UntypedTypeLevelReferenceNode; import org.zwobble.hobgoblin.compiler.sources.NullSource; -import org.zwobble.hobgoblin.compiler.types.*; +import org.zwobble.hobgoblin.compiler.types.DatabaseSchema; +import org.zwobble.hobgoblin.compiler.types.NamespaceName; +import org.zwobble.hobgoblin.compiler.types.Table; +import org.zwobble.hobgoblin.compiler.types.Types; import static org.zwobble.hobgoblin.compiler.ast.typed.RelationTableMatcher.isRelationTable; import static org.zwobble.hobgoblin.compiler.ast.typed.TypedQueryDefinitionNodeMatcher.isTypedQueryDefinitionNode; @@ -19,7 +21,6 @@ public class TypeCheckerQueryDefinitionTests { public void queryForAllTableRows() { var untyped = UntypedQueryDefinitionNode.arbitrary() .withName("allAuthors") - .withDatabaseSchema(UntypedTypeLevelReferenceNode.arbitrary().withName("blogApp")) .addStatement(UntypedReturnNode.arbitrary().withExpression( UntypedReferenceNode.arbitrary().withName("authors") )) -- cgit v1.2.3