MCPcopy Create free account
hub / github.com/apache/cloudberry / lo_lseek

Function lo_lseek

src/interfaces/libpq/fe-lobj.c:348–383  ·  view source on GitHub ↗

* lo_lseek * change the current read or write location on a large object */

Source from the content-addressed store, hash-verified

346 * change the current read or write location on a large object
347 */
348int
349lo_lseek(PGconn *conn, int fd, int offset, int whence)
350{
351 PQArgBlock argv[3];
352 PGresult *res;
353 int retval;
354 int result_len;
355
356 if (lo_initialize(conn) < 0)
357 return -1;
358
359 argv[0].isint = 1;
360 argv[0].len = 4;
361 argv[0].u.integer = fd;
362
363 argv[1].isint = 1;
364 argv[1].len = 4;
365 argv[1].u.integer = offset;
366
367 argv[2].isint = 1;
368 argv[2].len = 4;
369 argv[2].u.integer = whence;
370
371 res = PQfn(conn, conn->lobjfuncs->fn_lo_lseek,
372 &retval, &result_len, 1, argv, 3);
373 if (PQresultStatus(res) == PGRES_COMMAND_OK)
374 {
375 PQclear(res);
376 return retval;
377 }
378 else
379 {
380 PQclear(res);
381 return -1;
382 }
383}
384
385/*
386 * lo_lseek64

Callers 2

pickoutFunction · 0.85
overwriteFunction · 0.85

Calls 4

lo_initializeFunction · 0.85
PQfnFunction · 0.85
PQresultStatusFunction · 0.85
PQclearFunction · 0.85

Tested by 2

pickoutFunction · 0.68
overwriteFunction · 0.68