Thread: [pgjdbc/pgjdbc] 557e2d: feat: Add maxResultBuffer property (#1657)

[pgjdbc/pgjdbc] 557e2d: feat: Add maxResultBuffer property (#1657)

From
adrklos
Date:
  Branch: refs/heads/master
  Home:   https://github.com/pgjdbc/pgjdbc
  Commit: 557e2de462b0f52ddc0b151971a9aa6e2d553622
      https://github.com/pgjdbc/pgjdbc/commit/557e2de462b0f52ddc0b151971a9aa6e2d553622
  Author: adrklos <59052690+adrklos@users.noreply.github.com>
  Date:   2019-12-30 (Mon, 30 Dec 2019)

  Changed paths:
    M README.md
    M docs/documentation/head/connect.md
    M pgjdbc/src/main/java/org/postgresql/PGProperty.java
    M pgjdbc/src/main/java/org/postgresql/core/PGStream.java
    M pgjdbc/src/main/java/org/postgresql/core/v3/ConnectionFactoryImpl.java
    M pgjdbc/src/main/java/org/postgresql/core/v3/QueryExecutorImpl.java
    M pgjdbc/src/main/java/org/postgresql/ds/common/BaseDataSource.java
    A pgjdbc/src/main/java/org/postgresql/util/PGPropertyMaxResultBufferParser.java
    M pgjdbc/src/test/java/org/postgresql/test/jdbc2/Jdbc2TestSuite.java
    A pgjdbc/src/test/java/org/postgresql/test/util/PGPropertyMaxResultBufferParserTest.java

  Log Message:
  -----------
  feat: Add maxResultBuffer property (#1657)

* feat: Add maxResultBuffer property

Implementation of new property - maxResultBuffer. Enables max bytes read during reading result set.
Enable declare in two styles:
- as size of bytes (i.e. 100, 150M, 300K, 400G);
- as percent of max heap memory (i.e. 10p, 15pct, 20percent).
Also validates if defined size isn't bigger than enabled. Max possible size is 90% of max heap memory.
If maxResultBuffer property isn't declared, work of driver is not changed.

Commit made for Heimdalldata's request to solve memory problem during reading result set.

* feat: Add maxResultBuffer property

Add PGPropertyMaxResultBufferParser test cases.

* feat: Add maxResultBuffer property

Update of docs for maxResultBuffer property, and change in comments for javadoc to describe new exceptions.