* lo_close * closes an existing large object * * returns 0 upon success * returns -1 upon failure. */
| 93 | * returns -1 upon failure. |
| 94 | */ |
| 95 | int |
| 96 | lo_close(PGconn *conn, int fd) |
| 97 | { |
| 98 | PQArgBlock argv[1]; |
| 99 | PGresult *res; |
| 100 | int retval; |
| 101 | int result_len; |
| 102 | |
| 103 | if (lo_initialize(conn) < 0) |
| 104 | return -1; |
| 105 | |
| 106 | argv[0].isint = 1; |
| 107 | argv[0].len = 4; |
| 108 | argv[0].u.integer = fd; |
| 109 | res = PQfn(conn, conn->lobjfuncs->fn_lo_close, |
| 110 | &retval, &result_len, 1, argv, 1); |
| 111 | if (PQresultStatus(res) == PGRES_COMMAND_OK) |
| 112 | { |
| 113 | PQclear(res); |
| 114 | return retval; |
| 115 | } |
| 116 | else |
| 117 | { |
| 118 | PQclear(res); |
| 119 | return -1; |
| 120 | } |
| 121 | } |
| 122 | |
| 123 | /* |
| 124 | * lo_truncate |