Package org.postgresql.core

# Class NativeQuery

java.lang.Object
org.postgresql.core.NativeQuery

public class NativeQuery extends Object
Represents a query that is ready for execution by backend. The main difference from JDBC is ? are replaced with $1, $2, etc.

## Field Summary

Fields
Modifier and Type
Field
Description
`final int[]`
`bindPositions`
`final SqlCommand`
`command`
`final boolean`
`multiStatement`
`final String`
`nativeSql`

## Constructor Summary

Constructors
Constructor
Description
`NativeQuery(String nativeSql, int[] bindPositions, boolean multiStatement, SqlCommand dml)`
`NativeQuery(String nativeSql, SqlCommand dml)`

## Method Summary

Modifier and Type
Method
Description
`static StringBuilder`
`appendBindName(StringBuilder sb, int index)`
`static String`
`bindName(int index)`
Returns $1, $2, etc names of bind variables used by backend.
`static int`
`calculateBindLength(int bindCount)`
Calculate the text length required for the given number of bind variables including dollars.
`SqlCommand`
`getCommand()`
`String`
`toString(@Nullable ParameterList parameters)`
Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.

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

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

## Field Details

### nativeSql

public final String nativeSql

### bindPositions

public final int[] bindPositions

### command

public final SqlCommand command

### multiStatement

public final boolean multiStatement

## Constructor Details

### NativeQuery

public NativeQuery(String nativeSql, SqlCommand dml)

### NativeQuery

public NativeQuery(String nativeSql, int[] bindPositions, boolean multiStatement, SqlCommand dml)

## Method Details

### toString

public String toString(@Nullable ParameterList parameters)
Stringize this query to a human-readable form, substituting particular parameter values for parameter placeholders.

Parameters:
  `parameters` - a ParameterList returned by this Query's `Query.createParameterList()` method, or `null` to leave the parameter placeholders unsubstituted.
Returns:
  a human-readable representation of this query

### bindName

public static String bindName(int index)
Returns $1, $2, etc names of bind variables used by backend.

Parameters:
  `index` - index of a bind variable
Returns:
  bind variable name

### appendBindName

public static StringBuilder appendBindName(StringBuilder sb, int index)

### calculateBindLength

public static int calculateBindLength(int bindCount)
Calculate the text length required for the given number of bind variables including dollars. Do this to avoid repeated calls to AbstractStringBuilder.expandCapacity(...) and Arrays.copyOf

Parameters:
  `bindCount` - total number of parameters in a query
Returns:
  int total character length for $xyz kind of binds

### getCommand

public SqlCommand getCommand()