You must implement the provider SPI so that when clients invoke the DBFS Content API, it causes the SPI to create directory, file, link, and reference elements (subject to store feature support).
All of the creation methods require a valid path name and can optionally specify properties to be associated with the path name as it is created. It is also possible for clients to fetch back item properties after the creation completes, so that automatically generated properties, such as
std_creation_time, are immediately available to clients. The exact set of properties fetched back is controlled by the various
xxx bit masks in
Links and references require an additional path name associated with the primary path name. File path names can optionally specify a
BLOB value to initially populate the underlying file content, and the provided
BLOB may be any valid LOB, either temporary or permanent. On creation, the underlying
LOB is returned to the client if
prop_data is specified in
Non-directory path names require that their parent directory be created first. Directory path names themselves can be recursively created. This means that the path name hierarchy leading up to a directory can be created in one call.
Attempts to create paths that already exist produce an error, except for path names that are soft-deleted. In these cases, the soft-deleted item is implicitly purged, and the new item creation is attempted.
Stores and their providers that support contentID-based access accept an explicit store name and a
NULL path to create a new content element. The contentID generated for this element is available by means of the
OPT_CONTENT_ID property. The
PROP_OPT property in the
prop_flags parameter automatically implies contentID-based creation.
The newly created element may also have an internally generated path name if the
FEATURE_LAZY_PATH property is not supported and this path is available by way of the
Only file elements are candidates for contentID-based access.
Oracle Database PL/SQL Packages and Types Reference for details of the
DBMS_DBFS_CONTENT()Constants - Optional Properties, and
DBMS_DBFS_CONTENTConstants - Standard Properties