| 389 | } |
| 390 | |
| 391 | void DsqlBatch::putSegment(ULONG length, const void* inBuffer) |
| 392 | { |
| 393 | if (m_flags & (1 << FLAG_CURRENT_SEGMENTED)) |
| 394 | { |
| 395 | if (length > MAX_USHORT) |
| 396 | { |
| 397 | ERR_post(Arg::Gds(isc_imp_exc) << Arg::Gds(isc_blobtoobig) << |
| 398 | Arg::Gds(isc_big_segment) << Arg::Num(length)); |
| 399 | } |
| 400 | USHORT l = length; |
| 401 | m_blobs.align(IBatch::BLOB_SEGHDR_ALIGN); |
| 402 | m_blobs.put(&l, sizeof(l)); |
| 403 | m_setBlobSize = true; |
| 404 | |
| 405 | DEB_BATCH(fprintf(stderr, "segment header, ")); |
| 406 | } |
| 407 | m_blobs.put(inBuffer, length); |
| 408 | DEB_BATCH(fprintf(stderr, "segment data %u ", length)); |
| 409 | } |
| 410 | |
| 411 | void DsqlBatch::addBlobStream(thread_db* tdbb, unsigned length, const void* inBuffer) |
| 412 | { |