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

Function lo_open

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

* lo_open * opens an existing large object * * returns the file descriptor for use in later lo_* calls * return -1 upon failure. */

Source from the content-addressed store, hash-verified

54 * return -1 upon failure.
55 */
56int
57lo_open(PGconn *conn, Oid lobjId, int mode)
58{
59 int fd;
60 int result_len;
61 PQArgBlock argv[2];
62 PGresult *res;
63
64 if (lo_initialize(conn) < 0)
65 return -1;
66
67 argv[0].isint = 1;
68 argv[0].len = 4;
69 argv[0].u.integer = lobjId;
70
71 argv[1].isint = 1;
72 argv[1].len = 4;
73 argv[1].u.integer = mode;
74
75 res = PQfn(conn, conn->lobjfuncs->fn_lo_open, &fd, &result_len, 1, argv, 2);
76 if (PQresultStatus(res) == PGRES_COMMAND_OK)
77 {
78 PQclear(res);
79 return fd;
80 }
81 else
82 {
83 PQclear(res);
84 return -1;
85 }
86}
87
88/*
89 * lo_close

Callers 13

importFileFunction · 0.85
pickoutFunction · 0.85
overwriteFunction · 0.85
my_truncateFunction · 0.85
exportFileFunction · 0.85
importFileFunction · 0.85
pickoutFunction · 0.85
overwriteFunction · 0.85
exportFileFunction · 0.85
lo_import_internalFunction · 0.85
lo_exportFunction · 0.85
dumpBlobsFunction · 0.85

Calls 4

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

Tested by 9

importFileFunction · 0.68
pickoutFunction · 0.68
overwriteFunction · 0.68
my_truncateFunction · 0.68
exportFileFunction · 0.68
importFileFunction · 0.68
pickoutFunction · 0.68
overwriteFunction · 0.68
exportFileFunction · 0.68