AbstractConstructor for OINOBlob.
blob storage connection parameters
ReadonlynameContainer / bucket name
Coerce a single data value into a form that can safely be passed to the datasource as a
bind parameter (as opposed to printCellAsValue, which formats it as an inline SQL literal).
The default implementation returns the value unchanged. SQL datasources override this to
apply driver-specific coercions (e.g. converting Date/boolean for drivers that only
accept primitive bind types). Non-SQL datasources (blob, nosql) can ignore it.
data value to bind
native type name for the table column
AbstractconnectConnect to database.
AbstractdeleteDelete a named blob.
full blob name (path within the container)
AbstractdisconnectDisconnect from database.
AbstractfetchFetch the binary content and content-type of a named blob.
full blob name (path within the container)
AbstractinitializeInitialize a data model by getting the SQL schema and populating OINODataFields of the model.
api which data model to initialize.
AbstractlistList blob entries, optionally filtered by a query filter. Implementations should apply native query filtering where possible and fall back to in-memory result filtering for predicates that cannot be expressed as a native query.
Optionalfilter: OINOQueryFilteroptional query filter to apply to the results
Parse a single SQL result value for serialization using the context of the native data type.
native type name for table column
Print a single data value from serialization using the context of the native data type with the correct SQL escaping.
data from sql results
Print a column name with correct datasource specific formatting.
name of the column
Print a single string value as valid sql literal
Sanitize a blob name by replacing characters that are illegal or unsafe
on this storage backend with _.
The base implementation strips ASCII control characters (U+0000–U+001F and U+007F). Subclasses should override to apply additional platform-specific rules.
raw blob name (path within the container)
AbstractuploadUpload (create or replace) a blob with the given binary content.
full blob name (path within the container)
binary content to store
MIME type of the content (e.g. "image/jpeg")
AbstractvalidateValidate connection to database is working.
Abstract base class for blob storage backends. Subclasses implement the two core operations (
listEntriesandfetchEntry) for a specific provider (e.g. Azure Blob Storage, S3, …).The SQL-formatting methods inherited from
OINODataSourceare not used by blob operations; they are implemented here as passthrough stubs so that the blob datasource can still be composed withOINODataField.