DAV search functions
Functions for searching a DAV collection or resource
any DAV_DIR_LIST
(in path varchar,
in recursive integer,
in auth_uid varchar,
in auth_pwd varchar);
integer DAV_SEARCH_ID
(in path varchar,
in what char(1));
varchar DAV_SEARCH_PATH
(in id integer,
in what char(1));
Description
DAV_SEARCH_ID() returns the RES_ID or COL_ID, depending on the
'what' parameter passed. ('R'esource or 'C'ollection
or 'P'arent collection).
DAV_SEARCH_PATH() returns full path string of resource or collection,
depending on parameter passed. ('R'esource or 'C'ollection or
'P'arent collection).
DAV_DIR_LIST() returns an array of arrays that contains the
following information about the requested path:
- fullpath
- type ('r' or 'c') which indicates resource or collection.
- length
- modification time
- id
- permissions
- group id
- owner id
- created
- mime type
Parameters
path –
Name of DAV location to search.
what –
The type of DAV item to search for: 'R' for resource,
'C' for collection or 'P' for parent collection.
id –
Identifier of resource or collection, for example
from DAV_SEARCH_ID().
recursive –
If non zero then recurse into subdirectories during the search.
Default is 0 which causes a search in current path only.
auth_uid –
Administration user capable of performing the operation.
Default is null.
auth_pwd –
Password of Administrator. Default is null.
Errors
Error Code |
Description |
>=0
|
success
|
-1
|
The path (target of operation) is not valid
|
-2
|
The destination (path) is not valid
|
-3
|
Overwrite flag is not set and destination exists
|
-4
|
The target is resource, but source is collection (in copy move operations)
|
-5
|
Permissions are not valid
|
-6
|
uid is not valid
|
-7
|
gid is not valid
|
-8
|
Target is locked
|
-9
|
Destination is locked
|
-10
|
Property name is reserved (protected or private)
|
-11
|
Property does not exists
|
-12
|
Authentication failed
|
-13
|
Operation is forbidden (the authenticated user do not have a permissions for the action)
|
-14
|
the target type is not valid
|
-15
|
The umask is not valid
|
-16
|
The property already exists
|
-17
|
Invalid property value
|
-18
|
no such user
|
-19
|
no home directory
|
Examples
Searching in WebDAV
The example shows retrieval of the resource id by given path string
SQL> select DB.DBA.DAV_SEARCH_ID ('/DAV/','c');
callret
VARCHAR
_______________________________________________________________________________
1
SQL> select DB.DBA.DAV_SEARCH_PATH (1,'c');
callret
VARCHAR
_______________________________________________________________________________
/DAV/