146146import net .sf .jsqlparser .statement .select .FromItemVisitor ;
147147import net .sf .jsqlparser .statement .select .Join ;
148148import net .sf .jsqlparser .statement .select .LateralSubSelect ;
149+ import net .sf .jsqlparser .statement .select .OrderByElement ;
149150import net .sf .jsqlparser .statement .select .ParenthesedFromItem ;
150151import net .sf .jsqlparser .statement .select .ParenthesedSelect ;
151152import net .sf .jsqlparser .statement .select .PlainSelect ;
@@ -620,7 +621,29 @@ public void visit(Modulo modulo) {
620621
621622 @ Override
622623 public void visit (AnalyticExpression analytic ) {
624+ if (analytic .getExpression () != null ) {
625+ analytic .getExpression ().accept (this );
626+ }
627+ if (analytic .getDefaultValue () != null ) {
628+ analytic .getDefaultValue ().accept (this );
629+ }
630+ if (analytic .getOffset () != null ) {
631+ analytic .getOffset ().accept (this );
632+ }
633+ if (analytic .getKeep () != null ) {
634+ analytic .getKeep ().accept (this );
635+ }
636+ if (analytic .getFuncOrderBy () != null ) {
637+ for (OrderByElement element : analytic .getOrderByElements ()) {
638+ element .getExpression ().accept (this );
639+ }
640+ }
623641
642+ if (analytic .getWindowElement () != null ) {
643+ analytic .getWindowElement ().getRange ().getStart ().getExpression ().accept (this );
644+ analytic .getWindowElement ().getRange ().getEnd ().getExpression ().accept (this );
645+ analytic .getWindowElement ().getOffset ().getExpression ().accept (this );
646+ }
624647 }
625648
626649 @ Override
@@ -638,7 +661,9 @@ public void visit(SetOperationList list) {
638661
639662 @ Override
640663 public void visit (ExtractExpression eexpr ) {
641-
664+ if (eexpr .getExpression () != null ) {
665+ eexpr .getExpression ().accept (this );
666+ }
642667 }
643668
644669 @ Override
@@ -662,7 +687,9 @@ protected void init(boolean allowColumnProcessing) {
662687
663688 @ Override
664689 public void visit (IntervalExpression iexpr ) {
665-
690+ if (iexpr .getExpression () != null ) {
691+ iexpr .getExpression ().accept (this );
692+ }
666693 }
667694
668695 @ Override
@@ -688,12 +715,14 @@ public void visit(RegExpMatchOperator rexpr) {
688715
689716 @ Override
690717 public void visit (JsonExpression jsonExpr ) {
691-
718+ if (jsonExpr .getExpression () != null ) {
719+ jsonExpr .getExpression ().accept (this );
720+ }
692721 }
693722
694723 @ Override
695724 public void visit (JsonOperator jsonExpr ) {
696-
725+ visitBinaryExpression ( jsonExpr );
697726 }
698727
699728 @ Override
0 commit comments