Product Documentation
Virtuoso Studio Design Environment SKILL Reference
Product Version IC23.1, November 2023

ddDeleteObj

ddDeleteObj( 
b_objectId 
)
=> t / nil 

Description

Deletes b_objectId from the disk.

If b_objectId is a library, this function deletes the library directory from the disk and removes the library entry from the cds.lib file. If the library has a temporary directory associated with it, ddDeleteObj adds an UNASSIGN statement to the cds.lib file to un-assign the TMP attribute from the library; it does not delete the temporary directory from the disk. Also, if the library has been defined in more than one cds.lib, ddDeleteObj does not delete the library from the disk; instead, it adds an UNDEFINE statement for the library to the appropriate cds.lib file.

If b_objectID is of any other type, ddDeleteObj removes the object from disk from either the master directory or the temporary directory, depending on which one it exists in, or from both, if it exists in both.

If the object's library is under DM control, ddDeleteObj will call gdmdelete to do the deletion. gdmdelete will call the appropriate DM system's calls.

If you delete a directory object, ddDeleteObj tries to get an exclusive lock, in non-blocking mode, on every data file in the hierarchy under that directory. If it fails to get any lock, it knows that another process is using that file. It therefore cannot delete the object, and it fails.

ddDeleteObj has two triggers: PreDeleteObj and PostDeleteObj. The objectId's of deleted objects in virtual memory remain valid until after the return from PostDeleteObj triggers, so you can use PI functions (for cleanup) that require an ID. If you call ddDeleteObj on a directory object that contains children, ddDeleteObj calls the pre- and post-triggers once for each of the child objects that has an ID in virtual memory.

Arguments

b_objectId

Object identifier returned by ddCreateLib or ddGetObj.

Value Returned

t

Execution of the function succeeded.

nil

Execution of the function failed.

Example

ddDeleteObj( TTL7400libraryId ) => t 

Return to top
 ⠀
X