Module spin_sdk.wit.imports.sqlite

Expand source code
from typing import TypeVar, Generic, Union, Optional, Protocol, Tuple, List, Any, Self
from enum import Flag, Enum, auto
from dataclasses import dataclass
from abc import abstractmethod
import weakref

from ..types import Result, Ok, Err, Some



@dataclass
class Error_NoSuchDatabase:
    pass


@dataclass
class Error_AccessDenied:
    pass


@dataclass
class Error_InvalidConnection:
    pass


@dataclass
class Error_DatabaseFull:
    pass


@dataclass
class Error_Io:
    value: str


Error = Union[Error_NoSuchDatabase, Error_AccessDenied, Error_InvalidConnection, Error_DatabaseFull, Error_Io]
"""
The set of errors which may be raised by functions in this interface
"""



@dataclass
class Value_Integer:
    value: int


@dataclass
class Value_Real:
    value: float


@dataclass
class Value_Text:
    value: str


@dataclass
class Value_Blob:
    value: bytes


@dataclass
class Value_Null:
    pass


Value = Union[Value_Integer, Value_Real, Value_Text, Value_Blob, Value_Null]
"""
A single column's result from a database query
"""


@dataclass
class RowResult:
    """
    A set of values for each of the columns in a query-result
    """
    values: List[Value]

@dataclass
class QueryResult:
    """
    A result of a query
    """
    columns: List[str]
    rows: List[RowResult]

class Connection:
    """
    A handle to an open sqlite instance
    """
    
    @classmethod
    def open(cls, database: str) -> Self:
        """
        Open a connection to a named database instance.
        
        If `database` is "default", the default instance is opened.
        
        `error::no-such-database` will be raised if the `name` is not recognized.
        
        Raises: `spin_sdk.wit.types.Err(spin_sdk.wit.imports.sqlite.Error)`
        """
        raise NotImplementedError

    def execute(self, statement: str, parameters: List[Value]) -> QueryResult:
        """
        Execute a statement returning back data if there is any
        
        Raises: `spin_sdk.wit.types.Err(spin_sdk.wit.imports.sqlite.Error)`
        """
        raise NotImplementedError

    def __enter__(self):
        """Returns self"""
        return self
                                                                    
    def __exit__(self, *args):
        """
        Release this resource.
        """
        raise NotImplementedError

Global variables

var Error

The set of errors which may be raised by functions in this interface

var Value

A single column's result from a database query

Classes

class Connection

A handle to an open sqlite instance

Expand source code
class Connection:
    """
    A handle to an open sqlite instance
    """
    
    @classmethod
    def open(cls, database: str) -> Self:
        """
        Open a connection to a named database instance.
        
        If `database` is "default", the default instance is opened.
        
        `error::no-such-database` will be raised if the `name` is not recognized.
        
        Raises: `spin_sdk.wit.types.Err(spin_sdk.wit.imports.sqlite.Error)`
        """
        raise NotImplementedError

    def execute(self, statement: str, parameters: List[Value]) -> QueryResult:
        """
        Execute a statement returning back data if there is any
        
        Raises: `spin_sdk.wit.types.Err(spin_sdk.wit.imports.sqlite.Error)`
        """
        raise NotImplementedError

    def __enter__(self):
        """Returns self"""
        return self
                                                                    
    def __exit__(self, *args):
        """
        Release this resource.
        """
        raise NotImplementedError

Static methods

def open(database: str) ‑> Self

Open a connection to a named database instance.

If database is "default", the default instance is opened.

error::no-such-database will be raised if the name is not recognized.

Raises: Err(Error)

Expand source code
@classmethod
def open(cls, database: str) -> Self:
    """
    Open a connection to a named database instance.
    
    If `database` is "default", the default instance is opened.
    
    `error::no-such-database` will be raised if the `name` is not recognized.
    
    Raises: `spin_sdk.wit.types.Err(spin_sdk.wit.imports.sqlite.Error)`
    """
    raise NotImplementedError

Methods

def execute(self, statement: str, parameters: List[Union[Value_IntegerValue_RealValue_TextValue_BlobValue_Null]]) ‑> QueryResult

Execute a statement returning back data if there is any

Raises: Err(Error)

Expand source code
def execute(self, statement: str, parameters: List[Value]) -> QueryResult:
    """
    Execute a statement returning back data if there is any
    
    Raises: `spin_sdk.wit.types.Err(spin_sdk.wit.imports.sqlite.Error)`
    """
    raise NotImplementedError
class Error_AccessDenied

Error_AccessDenied()

Expand source code
@dataclass
class Error_AccessDenied:
    pass
class Error_DatabaseFull

Error_DatabaseFull()

Expand source code
@dataclass
class Error_DatabaseFull:
    pass
class Error_InvalidConnection

Error_InvalidConnection()

Expand source code
@dataclass
class Error_InvalidConnection:
    pass
class Error_Io (value: str)

Error_Io(value: str)

Expand source code
@dataclass
class Error_Io:
    value: str

Class variables

var value : str
class Error_NoSuchDatabase

Error_NoSuchDatabase()

Expand source code
@dataclass
class Error_NoSuchDatabase:
    pass
class QueryResult (columns: List[str], rows: List[RowResult])

A result of a query

Expand source code
@dataclass
class QueryResult:
    """
    A result of a query
    """
    columns: List[str]
    rows: List[RowResult]

Class variables

var columns : List[str]
var rows : List[RowResult]
class RowResult (values: List[Union[Value_IntegerValue_RealValue_TextValue_BlobValue_Null]])

A set of values for each of the columns in a query-result

Expand source code
@dataclass
class RowResult:
    """
    A set of values for each of the columns in a query-result
    """
    values: List[Value]

Class variables

var values : List[Union[Value_IntegerValue_RealValue_TextValue_BlobValue_Null]]
class Value_Blob (value: bytes)

Value_Blob(value: bytes)

Expand source code
@dataclass
class Value_Blob:
    value: bytes

Class variables

var value : bytes
class Value_Integer (value: int)

Value_Integer(value: int)

Expand source code
@dataclass
class Value_Integer:
    value: int

Class variables

var value : int
class Value_Null

Value_Null()

Expand source code
@dataclass
class Value_Null:
    pass
class Value_Real (value: float)

Value_Real(value: float)

Expand source code
@dataclass
class Value_Real:
    value: float

Class variables

var value : float
class Value_Text (value: str)

Value_Text(value: str)

Expand source code
@dataclass
class Value_Text:
    value: str

Class variables

var value : str