/*-------------------------------------------------------------------------
*
* Copyright (c) 2004-2015, PostgreSQL Global Development Group
*
*
*-------------------------------------------------------------------------
*/
package org.postgresql.jdbc42;

import java.sql.SQLException;
import java.sql.SQLType;

import org.postgresql.Driver;
import org.postgresql.jdbc4.AbstractJdbc4Connection;
import org.postgresql.jdbc4.AbstractJdbc4Statement;

public abstract class AbstractJdbc42Statement extends AbstractJdbc4Statement
{

    protected AbstractJdbc42Statement(AbstractJdbc4Connection c, int rsType, int rsConcurrency, int rsHoldability, int prepareThreshold) throws SQLException
    {
        super(c, rsType, rsConcurrency, rsHoldability);
        setPrepareThreshold(prepareThreshold);
    }

    protected AbstractJdbc42Statement(AbstractJdbc42Connection connection, String sql, boolean isCallable, int rsType, int rsConcurrency, int rsHoldability, int prepareThreshold) throws SQLException
    {
        super(connection, sql, isCallable, rsType, rsConcurrency, rsHoldability);
        setPrepareThreshold(prepareThreshold);
    }

    public long getLargeUpdateCount() throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "getLargeUpdateCount");
    }

    public void setLargeMaxRows(long max) throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "setLargeMaxRows");
    }

    public long getLargeMaxRows() throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "getLargeMaxRows");
    }

    public long[] executeLargeBatch() throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "executeLargeBatch");
    }

    public long executeLargeUpdate(String sql) throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "executeLargeUpdate");
    }

    public long executeLargeUpdate(String sql, int autoGeneratedKeys) throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "executeLargeUpdate");
    }

    public long executeLargeUpdate(String sql, int columnIndexes[]) throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "executeLargeUpdate");
    }

    public long executeLargeUpdate(String sql, String columnNames[]) throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "executeLargeUpdate");
    }

    public void setObject(int parameterIndex, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "setObject");
    }

    public void setObject(int parameterIndex, Object x, SQLType targetSqlType) throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "setObject");
    }

    public long executeLargeUpdate() throws SQLException
    {
        throw Driver.notImplemented(this.getClass(), "executeLargeUpdate");
    }

    public void setObject(String parameterName, Object x, SQLType targetSqlType, int scaleOrLength) throws SQLException
    {
       throw Driver.notImplemented(this.getClass(), "setObject");
   }

    public void setObject(String parameterName, Object x, SQLType targetSqlType) throws SQLException
    {
       throw Driver.notImplemented(this.getClass(), "setObject");
   }

   public void registerOutParameter(int parameterIndex, SQLType sqlType) throws SQLException
   {
       throw Driver.notImplemented(this.getClass(), "registerOutParameter");
   }

   public void registerOutParameter(int parameterIndex, SQLType sqlType,
           int scale) throws SQLException
   {
       throw Driver.notImplemented(this.getClass(), "registerOutParameter");
   }

   public void registerOutParameter (int parameterIndex, SQLType sqlType, String typeName) throws SQLException
   {
       throw Driver.notImplemented(this.getClass(), "registerOutParameter");
   }

   public void registerOutParameter(String parameterName, SQLType sqlType) throws SQLException
   {
       throw Driver.notImplemented(this.getClass(), "registerOutParameter");
   }

   public void registerOutParameter(String parameterName, SQLType sqlType, int scale) throws SQLException
   {
       throw Driver.notImplemented(this.getClass(), "registerOutParameter");
   }

   public void registerOutParameter (String parameterName, SQLType sqlType, String typeName) throws SQLException
   {
       throw Driver.notImplemented(this.getClass(), "registerOutParameter");
   }

}
