Skip to content

Extension System

Extension system for loading and managing OraDBA extensions.


Functions

create_extension_alias

Create navigation alias for extension

Source: extensions.sh

Arguments:

  • $1 - Extension name
  • $2 - Extension path

Returns: 0 on success

Output: Creates alias like cde\<name> (cd extension)


deduplicate_path

Deduplicate PATH (keep first occurrence)

Source: extensions.sh

Arguments:

  • None

Returns: 0 on success

Output: Updates PATH environment variable

Notes

Uses oradba_dedupe_path() from oradba_env_builder.sh if available


deduplicate_sqlpath

Deduplicate SQLPATH (keep first occurrence)

Source: extensions.sh

Arguments:

  • None

Returns: 0 on success

Output: Updates SQLPATH environment variable

Notes

Uses oradba_dedupe_path() from oradba_env_builder.sh if available


discover_extensions

Discover extensions in ORADBA_LOCAL_BASE

Source: extensions.sh

Arguments:

  • None

Returns: 0 on success

Output: List of extension paths (one per line) containing .extension marker file


extension_provides

Source: extensions.sh


get_all_extensions

Get all extensions (auto-discovered + manually configured)

Source: extensions.sh

Arguments:

  • None

Returns: 0 on success

Output: List of extension paths (one per line)


get_extension_description

Get extension description from metadata

Source: extensions.sh

Arguments:

  • $1 - Extension path

Returns: 0 on success

Output: Description string or empty


get_extension_name

Get extension name from metadata or directory name

Source: extensions.sh

Arguments:

  • $1 - Extension path

Returns: 0 on success

Output: Extension name


get_extension_priority

Get extension priority for sorting

Source: extensions.sh

Arguments:

  • $1 - Extension path

Returns: 0 on success

Output: Priority number (lower = loaded first, default 50)


get_extension_property

Unified property accessor for extension metadata

Source: extensions.sh

Returns: Property value from metadata, config override, or fallback


get_extension_version

Get extension version from metadata

Source: extensions.sh

Arguments:

  • $1 - Extension path

Returns: 0 on success

Output: Version string or "unknown"


is_extension_enabled

Check if extension is enabled

Source: extensions.sh

Arguments:

  • $1 - Extension name
  • $2 - Extension path

Returns: 0 if enabled, 1 if disabled

Output: None


load_extension

Load single extension

Source: extensions.sh

Arguments:

  • $1 - Extension path

Returns: 0 on success, 1 on error (with warning)

Output: Updates PATH/SQLPATH, sources library files, creates aliases


load_extensions

Load all enabled extensions

Source: extensions.sh

Arguments:

  • None

Returns: 0 on success

Output: Updates PATH and SQLPATH with extension directories

Notes

Called from oraenv.sh after configuration loading


parse_extension_metadata

Parse extension metadata file for key-value pairs

Source: extensions.sh

Arguments:

  • $1 - Metadata file path
  • $2 - Key to retrieve

Returns: 0 on success, 1 if file not found

Output: Value for the given key, or empty string if not found


remove_extension_paths

Remove extension paths from PATH and SQLPATH

Source: extensions.sh

Arguments:

  • None

Returns: 0 on success

Output: Updates PATH and SQLPATH environment variables


show_extension_info

Show detailed information about a specific extension

Source: extensions.sh

Arguments:

  • $1 - Extension name or path

Returns: 0 on success, 1 on error

Output: Detailed extension information including structure and navigation alias


sort_extensions_by_priority

Sort extensions by priority for loading order

Source: extensions.sh

Arguments:

  • $@ - Extension paths (space-separated)

Returns: 0 on success

Output: Sorted list of extension paths (one per line)


validate_extension

Validate extension structure (basic check)

Source: extensions.sh

Arguments:

  • $1 - Extension path

Returns: 0 if valid, 1 if warnings found

Output: Validation messages and warnings