# `Lotus.Sources.Default`
[🔗](https://github.com/typhoonworks/lotus/blob/v0.16.4/lib/lotus/sources/default.ex#L1)

Default source adapter implementation for unsupported or unknown database sources.

Provides safe no-op implementations for source-specific functions and
generic error formatting for database errors.

# `apply_filters`

Applies filters using standard SQL CTE wrapping with double-quoted identifiers.

# `apply_sorts`

Applies sorts by appending ORDER BY clause with double-quoted identifiers.

# `builtin_denies`

Returns conservative deny rules covering common system tables from various databases.

Since we don't know the specific source, we include deny rules for all known
system tables to be safe.

# `execute_in_transaction`

Simple transaction wrapper for unsupported sources.

# `explain_plan`

Returns an error since the database type is unknown and EXPLAIN syntax varies.

# `format_error`

Formats common error types into strings. Falls back to `inspect/1`
for unknown values.

# `get_table_schema`

Generic get_table_schema implementation that returns an empty schema.
Unknown sources should implement their own version if they support schema introspection.

# `handled_errors`

The default source does not handle any specific exceptions.

# `limit_offset_placeholders`

Returns generic placeholders for LIMIT and OFFSET (`"?"` for both).

Unknown sources should implement their own version if they have specific requirements.

# `list_schemas`

Generic list_schemas implementation that returns an empty list.
Unknown sources should implement their own version if they support schema introspection.

# `list_tables`

Generic list_tables implementation that returns an empty list.
Unknown sources should implement their own version if they support schema introspection.

# `param_placeholder`

Returns a generic SQL parameter placeholder (`"?"`).

This keeps the query builder working even for unknown sources,
though actual binding semantics may differ.

# `quote_identifier`

Double-quotes identifiers as a safe default for unknown SQL sources.

# `resolve_table_schema`

Generic resolve_table_schema that always returns nil.
This is appropriate for databases without schema support or unknown sources.

# `set_search_path`

No-op: unsupported sources do not implement search_path.

# `set_statement_timeout`

No-op: unsupported sources do not implement statement timeouts.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
