17.10 - setBytes(long pos, byte[] bytes, int offset, int len) - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
July 2021
Content Type
Programming Reference
Publication ID
B035-1147-171K
Language
English (United States)

Appends all or part of the given byte array to the end of the BLOB value that this Blob object represents and returns the number of bytes written.

If successful, setBytes() returns the number of bytes appended.

Syntax

setBytes(long pos, byte[] bytes, int offset, int len)

Syntax Elements

pos
Reserved for future use.
bytes
The array of bytes to append to the BLOB value that this Blob object represents.
offset
The offset into the bytes argument at which to start reading the bytes to append.
len
The number of bytes from the bytes argument to append to the BLOB value.

Exceptions

IF … THEN setBytes() throws an SQLException to …
there is an error accessing the BLOB value indicate a failure while writing to the BLOB, setting the SQLException fields as follows:
  • SQLState Field = “TS000”
  • vendorCode Field = 7852
the JVM cannot allocate enough memory for the method to write the bytes to the Blob indicate that the available JVM heap memory has run out, setting the SQLException fields as follows:
  • SQLState Field = “TS000”
  • vendorCode Field = 7856
one of the following:
  • the bytes argument is null
  • the value of the offset argument is negative
  • the value of the len argument is negative
  • the value of the pos argument is less than 1
  • the value of offset + len is larger than the length of the bytes argument
indicate a call to a Blob or Clob method with an invalid argument, setting the SQLException fields as follows:
  • SQLState Field = “22023”
  • vendorCode Field = 7859