Aleksandr created IGNITE-27514:
----------------------------------

             Summary: CLI: Integrate pager for large output handling in REPL
                 Key: IGNITE-27514
                 URL: https://issues.apache.org/jira/browse/IGNITE-27514
             Project: Ignite
          Issue Type: Improvement
            Reporter: Aleksandr


Implement pager integration for CLI REPL mode to handle large outputs (SQL 
results, execution plans, config dumps).

_Problem:_
Large outputs scroll past without control, making it impossible to review 
execution plans, large query results, or configuration dumps.

_Solution:_
Pipe outputs exceeding terminal height through a pager (less, more, or user's 
$PAGER).

_Implementation approach:_
* Use CommandLineContextProvider.setPrintWrapper() to intercept output
* Capture output to StringWriter, compare line count vs terminal.getHeight()
* If exceeds threshold, spawn pager process and pipe output
* Fallback to direct print if pager unavailable

_New config keys:_
* ignite.cli.pager.enabled (boolean, default: true)
* ignite.cli.pager.command (string, default: "less -RFX")

_Platform support:_
* Linux/macOS: less -RFX (default)
* Windows: more (fallback)
* Respect $PAGER environment variable

_Key files:_
* CliConfigKeys.java - config keys
* PagerSupport.java (new) - pager utility
* ReplExecutorImpl.java - print wrapper setup
* AbstractCallExecutionPipeline.java - route output through wrapper

_Requirements:_
* Must work in Docker containers (detect if pager available)
* REPL mode only for initial implementation



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to