SqlStreamInput/Output use TransportVersion from a read-in Version constant. We need to remove the useage of `transportVersion` field
x-pack/plugin/sql/src/test/java/org/elasticsearch/xpack/sql/plugin/CursorTests.java
import org.elasticsearch.xpack.sql.session.Cursor;
import org.elasticsearch.xpack.sql.session.Cursors;
import java.time.ZoneId;
import java.util.List;
import static org.elasticsearch.action.support.PlainActionFuture.newFuture;
import static org.elasticsearch.xpack.sql.execution.search.SearchHitCursorTests.randomSearchHitCursor;
import static org.elasticsearch.xpack.sql.session.Cursors.attachFormatter;
import static org.elasticsearch.xpack.sql.session.Cursors.decodeFromStringWithZone;
import static org.elasticsearch.xpack.sql.session.Cursors.encodeToString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verifyNoMoreInteractions;
public class CursorTests extends ESTestCase {
    public void testEmptyCursorClearCursor() {
        Client clientMock = mock(Client.class);
        Cursor cursor = Cursor.EMPTY;
        PlainActionFuture<Boolean> future = newFuture();
        cursor.clear(clientMock, future);
        assertFalse(future.actionGet());
        verifyNoMoreInteractions(clientMock);
    }
    public void testVersionHandling() {
        Cursor cursor = randomSearchHitCursor();
        assertEquals(cursor, decodeFromString(encodeToString(cursor, randomZone())));
        Version nextMinorVersion = Version.fromId(Version.CURRENT.id + 10000);
        String encodedWithWrongVersion = encodeToString(cursor, nextMinorVersion, randomZone());
        SqlIllegalArgumentException exception = expectThrows(
            SqlIllegalArgumentException.class,
            () -> decodeFromString(encodedWithWrongVersion)
        );
        assertEquals(