org.mariadb.jdbc.internal.queryresults

## Class MultiIntExecutionResult

- java.lang.Object
- - org.mariadb.jdbc.internal.queryresults.ExecutionResult
  - - org.mariadb.jdbc.internal.queryresults.MultiIntExecutionResult

    public class MultiIntExecutionResult
    extends ExecutionResult

### Constructor Summary

Constructors
Constructor and Description
`MultiIntExecutionResult(Statement statement, int size, int fetchSize, boolean isSelectPossible)` Constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addResult(MariaSelectResultSet result, boolean moreResultAvailable)` Add a resultSet information.
`void` `addStats(long affectedRows, long insertId, boolean moreResultAvailable)` Add execution statistics.
`void` `addStatsError()`
`int[]` `getAffectedRows()`
`int` `getFirstAffectedRows()`
`long[]` `getInsertIds()`
`boolean` `hasMoreThanOneAffectedRows()`
`void` `updateResultsForRewrite()` Set result for rewrite queries.
`void` `updateResultsMultiple(Deque<ExecutionResult> cachedExecutionResults)` Set update result right on multiple rewrite.

### Methods inherited from class org.mariadb.jdbc.internal.queryresults.ExecutionResult

`close, getFetchSize, getResult, getStatement, hasMoreResultAvailable, isCanHaveCallableResultset, isSelectPossible, setFetchSize, setMoreResultAvailable`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### MultiIntExecutionResult

    public MultiIntExecutionResult(Statement statement,
                                   int size,
                                   int fetchSize,
                                   boolean isSelectPossible)

Constructor. Creating result data with size according to datas.

Parameters:
  `statement` - current statement
  `size` - data size
  `fetchSize` - resultet fetch size
  `isSelectPossible` - is select command possible

### Method Detail

#### addResult

    public void addResult(MariaSelectResultSet result,
                          boolean moreResultAvailable)

Add a resultSet information.

Specified by:
  `addResult` in class `ExecutionResult`
Parameters:
  `result` - resultset implementation
  `moreResultAvailable` - is there additional packet

#### addStats

    public void addStats(long affectedRows,
                         long insertId,
                         boolean moreResultAvailable)

Add execution statistics.

Specified by:
  `addStats` in class `ExecutionResult`
Parameters:
  `affectedRows` - number of affected rows
  `insertId` - primary key
  `moreResultAvailable` - is there additional packet

#### getInsertIds

    public long[] getInsertIds()

Specified by:
  `getInsertIds` in class `ExecutionResult`

#### getAffectedRows

    public int[] getAffectedRows()

#### hasMoreThanOneAffectedRows

    public boolean hasMoreThanOneAffectedRows()

Specified by:
  `hasMoreThanOneAffectedRows` in class `ExecutionResult`

#### getFirstAffectedRows

    public int getFirstAffectedRows()

Specified by:
  `getFirstAffectedRows` in class `ExecutionResult`

#### addStatsError

    public void addStatsError()

Specified by:
  `addStatsError` in class `ExecutionResult`

#### updateResultsForRewrite

    public void updateResultsForRewrite()

Set result for rewrite queries. INSERT INTO XX VALUES (YYY) INSERT INTO XX VALUES (ZZZ) is rewritten INSERT INTO XX VALUES (YYY), (ZZZ) so modified row, will all be on the first row, or on a few rows : queries will split to have query size under the max_allowed_size, so data can be on multiple rows

#### updateResultsMultiple

    public void updateResultsMultiple(Deque<ExecutionResult> cachedExecutionResults)

Set update result right on multiple rewrite. INSERT XXXX INSERT XXXX is rewritten INSERT XXXX;INSERT XXXX So affected rows and insert Id are separate in as many okPacket.

Parameters:
  `cachedExecutionResults` - other okPacket.