{"record":{"id":"af7f841a91207b02","repo":"hibernate/hibernate-orm","slug":"illegal-frame-kind-child","errorCode":null,"errorMessage":"Illegal frame kind: {child}","messagePattern":"Illegal frame kind: (.+?)","errorType":"exception","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java","lineNumber":5443,"sourceCode":"\t\t\t\tendKind,\n\t\t\t\tendExpression,\n\t\t\t\texclusion\n\t\t);\n\t}\n\n\tprivate FrameKind getFrameKind(ParseTree child) {\n\t\tfinal var symbol = ((TerminalNode) child.getChild( 1 )).getSymbol();\n\t\treturn switch ( symbol.getType() ) {\n\t\t\tcase HqlParser.PRECEDING ->\n\t\t\t\t\tchild.getChild( 0 ) instanceof TerminalNode\n\t\t\t\t\t\t\t? FrameKind.UNBOUNDED_PRECEDING\n\t\t\t\t\t\t\t: FrameKind.OFFSET_PRECEDING;\n\t\t\tcase HqlParser.FOLLOWING ->\n\t\t\t\t\tchild.getChild( 0 ) instanceof TerminalNode\n\t\t\t\t\t\t\t? FrameKind.UNBOUNDED_FOLLOWING\n\t\t\t\t\t\t\t: FrameKind.OFFSET_FOLLOWING;\n\t\t\tcase HqlParser.ROW -> FrameKind.CURRENT_ROW;\n\t\t\tdefault -> throw new IllegalArgumentException( \"Illegal frame kind: \" + child );\n\t\t};\n\t}\n\n\t@Override\n\tpublic SqmExpression<?> visitCube(HqlParser.CubeContext ctx) {\n\t\treturn new SqmSummarization<>(\n\t\t\t\tSqmSummarization.Kind.CUBE,\n\t\t\t\tvisitExpressions( ctx ),\n\t\t\t\tnodeBuilder()\n\t\t);\n\t}\n\n\t@Override\n\tpublic SqmExpression<?> visitRollup(HqlParser.RollupContext ctx) {\n\t\treturn new SqmSummarization<>(\n\t\t\t\tSqmSummarization.Kind.ROLLUP,\n\t\t\t\tvisitExpressions( ctx ),\n\t\t\t\tnodeBuilder()","sourceCodeStart":5425,"sourceCodeEnd":5461,"githubUrl":"https://github.com/hibernate/hibernate-orm/blob/fad1729dce015f908198d57a8d80274a30f905a5/hibernate-core/src/main/java/org/hibernate/query/hql/internal/SemanticQueryBuilder.java#L5425-L5461","documentation":"Error \"Illegal frame kind: {child}\" thrown in hibernate/hibernate-orm.","triggerScenarios":"The HQL parser produced a node the translator does not expect: Illegal frame kind: <value>","commonSituations":"Usually an internal grammar edge case in window-frame or expression parsing; can surface with unusual but syntactically accepted HQL.","solutions":["The window frame bound kind is illegal. Use UNBOUNDED PRECEDING/FOLLOWING, CURRENT ROW, or an offset PRECEDING/FOLLOWING bound."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"fad1729dce015f908198d57a8d80274a30f905a5","analyzedAt":"2026-08-22T04:13:57.527Z","schemaVersion":2},"datasetVersion":"2026-08-22T09:17:25.309Z"}