Altibase.jdbc.driver.util

## Class AltiSqlProcessor

- java.lang.Object
- - Altibase.jdbc.driver.util.AltiSqlProcessor

    public class AltiSqlProcessor
    extends java.lang.Object

### Field Summary

Fields
`static int` `KEY_SET_ROWID_COLUMN_INDEX`

### Constructor Summary

Constructors
Constructor and Description
`AltiSqlProcessor()`

### Method Summary

All Methods Static Methods Concrete Methods
`static java.util.ArrayList` `getAllSequences(java.lang.String aSql)` 쿼리문을 파싱해 SEQUENCE 이름과 SEQUENCE가 사용된 컬럼의 이름을 얻는다.
`static boolean` `isInsertQuery(java.lang.String aSql)` INSERT로 시작하는 쿼리인지 확인한다.
`static boolean` `isSelectQuery(java.lang.String aSql)` SELECT로 시작하는 쿼리인지 확인한다.
`static java.lang.String` `makeDeleteRowSql(java.lang.String aTableName)`
`static java.lang.String` `makeGenerateKeysSql(java.util.ArrayList aSeqs)` Generated Keys를 얻기위한 쿼리문을 만든다.
`static java.lang.String` `makeGenerateKeysSql(java.util.ArrayList aSeqs, int[] aColIndexes)` Generated Keys를 얻기위한 쿼리문을 만든다.
`static java.lang.String` `makeGenerateKeysSql(java.util.ArrayList aSeqs, java.lang.String[] aColNames)` Generated Keys를 얻기위한 쿼리문을 만든다.
`static java.lang.String` `makeKeySetSql(java.lang.String aSql, java.util.Map aOrderByMap)`
`static java.lang.String` `makePRowIDAddedSql(java.lang.String aSql)` _PROWID 컬럼이 추가된 쿼리문을 얻는다.
`static java.lang.String` `makeRowSetSql(java.lang.String aSql, int aRowIdCount)`
`static java.lang.String` `processEscape(java.lang.String aOrgSql)`

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

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

### Field Detail

#### KEY_SET_ROWID_COLUMN_INDEX

    public static final int KEY_SET_ROWID_COLUMN_INDEX

See Also:
  Constant Field Values

### Constructor Detail

#### AltiSqlProcessor

    public AltiSqlProcessor()

### Method Detail

#### getAllSequences

    public static java.util.ArrayList getAllSequences(java.lang.String aSql)

쿼리문을 파싱해 SEQUENCE 이름과 SEQUENCE가 사용된 컬럼의 이름을 얻는다.

Parameters:
  `aSql` - SEQUENCE 정보를 파싱할 INSERT 쿼리문
Returns:
  SEQUENCE 정보를 담은 리스트

#### processEscape

    public static java.lang.String processEscape(java.lang.String aOrgSql)

#### makeGenerateKeysSql

    public static java.lang.String makeGenerateKeysSql(java.util.ArrayList aSeqs)

Generated Keys를 얻기위한 쿼리문을 만든다.

Parameters:
  `aSeqs` - SEQUENCE 정보를 담은 리스트
Returns:
  Generated Keys를 얻기위한 쿼리문

#### makeGenerateKeysSql

    public static java.lang.String makeGenerateKeysSql(java.util.ArrayList aSeqs,
                                                       int[] aColIndexes)
                                                throws java.sql.SQLException

Generated Keys를 얻기위한 쿼리문을 만든다.

Parameters:
  `aSeqs` - SEQUENCE 정보를 담은 리스트
  `aColIndexes` - 값을 얻을 SEQUENCE의 순번(1 base)을 담은 배열
Returns:
  Generated Keys를 얻기위한 쿼리문
Throws:
  `java.sql.SQLException`

#### makeGenerateKeysSql

    public static java.lang.String makeGenerateKeysSql(java.util.ArrayList aSeqs,
                                                       java.lang.String[] aColNames)
                                                throws java.sql.SQLException

Generated Keys를 얻기위한 쿼리문을 만든다.

Parameters:
  `aSeqs` - SEQUENCE 정보를 담은 리스트
  `aColNames` - 값을 얻을 SEQUENCE가 사용된 컬럼 이름을 담은 배열
Returns:
  Generated Keys를 얻기위한 쿼리문
Throws:
  `java.sql.SQLException`

#### makeKeySetSql

    public static java.lang.String makeKeySetSql(java.lang.String aSql,
                                                 java.util.Map aOrderByMap)
                                          throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### makeRowSetSql

    public static java.lang.String makeRowSetSql(java.lang.String aSql,
                                                 int aRowIdCount)
                                          throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

#### makePRowIDAddedSql

    public static java.lang.String makePRowIDAddedSql(java.lang.String aSql)
                                               throws java.sql.SQLException

_PROWID 컬럼이 추가된 쿼리문을 얻는다.

Parameters:
  `aSql` - 원본 쿼리문
Returns:
  단순 SELECT문이 아니면 null, 이미 _PROWID 컬럼이 추가되어있으면 원본 쿼리문, _PROWID 컬럼이 추가되지않은 단순 SELECT 문이면 _PROWID 컬럼이 추가된 쿼리문
Throws:
  `java.sql.SQLException`

#### isSelectQuery

    public static boolean isSelectQuery(java.lang.String aSql)

SELECT로 시작하는 쿼리인지 확인한다.

Parameters:
  `aSql` - 확인할 쿼리문
Returns:
  SELECT로 시작하는지 여부

#### isInsertQuery

    public static boolean isInsertQuery(java.lang.String aSql)

INSERT로 시작하는 쿼리인지 확인한다.

Parameters:
  `aSql` - 확인할 쿼리문
Returns:
  INSERT로 시작하는지 여부

#### makeDeleteRowSql

    public static java.lang.String makeDeleteRowSql(java.lang.String aTableName)