/*
* JBoss, Home of Professional Open Source.
* See the COPYRIGHT.txt file distributed with this work for information
* regarding copyright ownership. Some portions may be licensed
* to Red Hat, Inc. under one or more contributor license agreements.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301 USA.
*/
package org.teiid.odbc;
import java.util.List;
import java.util.Properties;
import org.teiid.client.util.ResultsFuture;
import org.teiid.jdbc.ResultSetImpl;
import org.teiid.odbc.PGUtil.PgColInfo;
public interface ODBCClientRemote {
enum CursorDirection {
FORWARD,
FIRST,
ABSOLUTE,
RELATIVE,
LAST
}
void initialized(Properties props);
void setEncoding(String value, boolean init);
// AuthenticationCleartextPassword (B)
void useClearTextAuthentication();
// AuthenticationGSS (B)
void useAuthenticationGSS();
// AuthenticationGSSContinue (B)
void authenticationGSSContinue(byte[] serviceToken);
// AuthenticationOk (B)
// BackendKeyData (B)
// ParameterStatus (B)
void authenticationSucess(int processId, int screctKey);
// ParseComplete (B)
void prepareCompleted(String preparedName);
// ErrorResponse (B)
void errorOccurred(String msg);
// ErrorResponse (B)
void errorOccurred(Throwable e);
void terminated();
// ParameterDescription (B)
void sendParameterDescription(int[] paramType);
// BindComplete (B)
void bindComplete();
// RowDescription (B)
// NoData (B)
void sendResultSetDescription(List<PgColInfo> cols, short[] resultColumnFormat);
// DataRow (B)
// CommandComplete (B)
void sendResults(String sql, ResultSetImpl rs, List<PgColInfo> cols, ResultsFuture<Integer> result, CursorDirection direction, int rowCount, boolean describeRows, short[] resultColumnFormat);
void sendCommandComplete(String sql, Integer count);
// CommandComplete (B)
void sendUpdateCount(String sql, int updateCount);
// ReadyForQuery (B)
void ready(boolean inTransaction, boolean failedTransaction);
void statementClosed();
// EmptyQueryResponse (B)
void emptyQueryReceived();
void flush();
// FunctionCallResponse (B)
void functionCallResponse(byte[] data);
void functionCallResponse(int data);
void sendSslResponse();
// unimplemented backend messages
// AuthenticationKerberosV5 (B)
// AuthenticationMD5Password (B)
// AuthenticationSCMCredential (B)
// AuthenticationSSPI (B)
// CloseComplete (B)
// CopyData (F & B)
// CopyDone (F & B)
// CopyInResponse (B)
// CopyOutResponse (B)
// NoticeResponse (B)
// NotificationResponse (B)
void sendPortalSuspended();
void sendParameterStatus(String param, String value);
}