@Override
    public Object visitStore_input(SiddhiQLParser.Store_inputContext ctx) {

        String sourceId = (String) visit(ctx.source_id());
        String alias = null;
        if (ctx.alias() != null) {
            alias = (String) visit(ctx.source_id());
        }
        Store store = InputStore.store(alias, sourceId);
        Expression expression = null;
        if (ctx.expression() != null) {
            expression = (Expression) visit(ctx.expression());
        }
        populateQueryContext(store, ctx);
        if (ctx.per() != null) {
            return store.on(expression, (Within) visit(ctx.within_time_range()), (Expression) visit(ctx.per()));
        } else if (expression != null) {
            return store.on(expression);
        } else {
            return store;
        }
    }
{@inheritDoc}
<p>The default implementation returns the result of calling
{@link #visitChildren} on {@code ctx}.</p>

@param ctx
modules/siddhi-query-compiler/src/main/java/io/siddhi/query/compiler/internal/SiddhiQLBaseVisitorImpl.java