All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.mariadb.jdbc.message.client.LongDataPacket Maven / Gradle / Ivy

// SPDX-License-Identifier: LGPL-2.1-or-later
// Copyright (c) 2012-2014 Monty Program Ab
// Copyright (c) 2015-2021 MariaDB Corporation Ab

package org.mariadb.jdbc.message.client;

import java.io.IOException;
import java.sql.SQLException;
import org.mariadb.jdbc.client.Context;
import org.mariadb.jdbc.client.socket.Writer;
import org.mariadb.jdbc.client.util.Parameter;
import org.mariadb.jdbc.message.ClientMessage;

/**
 * COM_STMT_SEND_LONG_DATA
 *
 * 

Permit to send ONE value in a dedicated packet. The advantage is when length is unknown, to * stream easily data to socket * *

https://mariadb.com/kb/en/com_stmt_send_long_data/ */ public final class LongDataPacket implements ClientMessage { private final int statementId; private final Parameter parameter; private final int index; /** * Constructor * * @param statementId statement identifier * @param parameter parameter * @param index index */ public LongDataPacket(int statementId, Parameter parameter, int index) { this.statementId = statementId; this.parameter = parameter; this.index = index; } @Override public int encode(Writer writer, Context context) throws IOException, SQLException { writer.initPacket(); writer.writeByte(0x18); writer.writeInt(statementId); writer.writeShort((short) index); parameter.encodeLongData(writer); writer.flush(); return 0; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy