1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-18 13:54:11 +03:00

Fixed read/write/append responses.

This commit is contained in:
Patrick LeBlanc
2019-01-30 13:27:19 -06:00
parent ffbce0ecda
commit 33edeaf4b0
3 changed files with 36 additions and 13 deletions

View File

@@ -62,11 +62,22 @@ void AppendTask::run()
if (readCount != writeCount)
break;
}
uint32_t *buf32 = (uint32_t *) cmdbuf;
buf32[0] = SM_MSG_START;
buf32[1] = 4;
buf32[2] = writeCount;
write(cmdbuf, 12);
uint32_t response[4];
response[0] = SM_MSG_START;
if (cmd->count != 0 && writeCount == 0)
{
response[1] = 8;
response[2] = -1;
response[3] = errno;
write((uint8_t *) response, 16);
}
else
{
response[1] = 4;
response[2] = writeCount;
write((uint8_t *) response, 12);
}
}
}

View File

@@ -58,10 +58,11 @@ void ReadTask::run()
if (count > 0)
outbuf32[1] = count;
else {
int l_errno = errno;
outbuf.resize(16);
outbuf32[1] = 8;
outbuf32[2] = err;
outbuf32[3] = errno;
outbuf32[3] = l_errno;
}
break;
}

View File

@@ -61,11 +61,22 @@ void WriteTask::run()
if (writeCount != readCount)
break;
}
uint32_t *buf32 = (uint32_t *) cmdbuf;
buf32[0] = SM_MSG_START;
buf32[1] = 4;
buf32[2] = writeCount;
write(cmdbuf, 12);
uint32_t response[4];
response[0] = SM_MSG_START;
if (cmd->count != 0 && writeCount == 0)
{
response[1] = 8;
response[2] = -1;
response[3] = errno;
write((uint8_t *) response, 16);
}
else
{
response[1] = 4;
response[2] = writeCount;
write((uint8_t *) response, 12);
}
}
}