# 22. Virtuoso Functions Guide - DAV search functions

Chapter Contents | Prev | Next
Keyword Search:
www.openlinksw.com
docs.openlinksw.com
Book Home
Contents
Preface
Virtuoso Functions Guide
Administration
Aggregate Functions
Array Manipulation
BPEL APIs
Backup
Compression
Cursor
Date & Time Manipulation
Debug
Dictionary Manipulation
Encoding & Decoding
File Manipulation
Free Text
Hashing / Cryptographic
LDAP
Locale
Mail
Miscellaneous
Number
Remote SQL Data Source
Replication
SOAP
SQL
String
Transaction
Type Mapping
UDDI
User Defined Types & The CLR
Virtuoso Java PL API
Virtuoso Server Extension Interface (VSEI)
Web Server & Internet
dav add & update fun...
dav manipulation fun...
dav search functions
dav_exp
lfs_exp
serv_queue_top
vhost_define
vhost_remove
webdav users & group...
client_attr
connection_get
connection_id
connection_is_dirty
connection_set
connection_vars
connection_vars_set
dbname
ftp_get
ftp_ls
ftp_put
get_certificate_info
get_keyword
get_keyword_ucase
http
http_acl_get
http_body_read
http_client
http_client_ip
http_debug_log
http_enable_gz
http_file
http_flush
http_get
http_header
http_header_get
http_kill
http_listen_host
http_map_get
http_map_table
http_param
http_path
http_pending_req
http_physical_path
http_proxy
http_request_get
http_request_header
http_request_status
http_rewrite
http_root
http_url
http_value
http_xslt
ses_connect
ses_disconnect
ses_read_line
ses_write
tcpip_gethostbyaddr
tcpip_gethostbyname
vsp_calculate_digest
wsdl_import_udt
XML
XPATH & XQUERY
Functions Index

## 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 retrival 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/

See Also

DAV content add/update/delete functions

DAV content manipulation functions

DAV lock manipulation functions

DAV user management functions