294 if(!resdata) { |
294 if(!resdata) { |
295 log_ereport(LOG_MISCONFIG, "postgresql webdav: resource pool %s not found", resource_pool); |
295 log_ereport(LOG_MISCONFIG, "postgresql webdav: resource pool %s not found", resource_pool); |
296 return NULL; |
296 return NULL; |
297 } |
297 } |
298 |
298 |
299 return pg_webdav_create_from_resdata(sn, rq, resdata); |
299 return pg_webdav_create_from_resdata(sn, rq, repo, resdata); |
300 } |
300 } |
301 |
301 |
302 WebdavBackend* pg_webdav_create_from_resdata(Session *sn, Request *rq, ResourceData *resdata) { |
302 WebdavBackend* pg_webdav_create_from_resdata(Session *sn, Request *rq, PgRepository *repo, ResourceData *resdata) { |
303 WebdavBackend *webdav = pool_malloc(sn->pool, sizeof(WebdavBackend)); |
303 WebdavBackend *webdav = pool_malloc(sn->pool, sizeof(WebdavBackend)); |
304 if(!webdav) { |
304 if(!webdav) { |
305 return NULL; |
305 return NULL; |
306 } |
306 } |
307 *webdav = pg_webdav_backend; |
307 *webdav = pg_webdav_backend; |
313 } |
313 } |
314 webdav->instance = instance; |
314 webdav->instance = instance; |
315 |
315 |
316 instance->pg_resource = resdata; |
316 instance->pg_resource = resdata; |
317 instance->connection = resdata->data; |
317 instance->connection = resdata->data; |
|
318 |
|
319 instance->repository = repo; |
|
320 snprintf(instance->root_resource_id_str, 32, "%" PRId64, repo->root_resource_id); |
318 |
321 |
319 return webdav; |
322 return webdav; |
320 } |
323 } |
321 |
324 |
322 WebdavBackend* pg_webdav_prop_create(Session *sn, Request *rq, pblock *pb) { |
325 WebdavBackend* pg_webdav_prop_create(Session *sn, Request *rq, pblock *pb) { |