class DatabaseEntriesRepository implements EntriesRepository, ClearableRepository, PrunableRepository, TerminableRepository

Constants

DEFAULT_CHUNK_SIZE

The default number of entries inserted at once.

protected MONITORED_TAGS_CONTEXT_KEY

Context key for the per-request monitored tags cache.

Properties

protected string $connection

The database connection name that should be used.

protected int $chunkSize

The number of entries that will be inserted at once into the database.

Methods

__construct(string $connection, int|null $chunkSize = null)

Create a new database repository.

find(string $id)

Find the entry with the given ID.

array|Collection
get(string|null $type, EntryQueryOptions $options)

Return all the entries of a given type.

int
countExceptionOccurrences(IncomingEntry $exception)

Count the occurrences of an exception.

void
store(Collection $entries)

Store the given array of entries.

string
encodeContent(array $content)

Encode entry content for storage.

void
storeExceptions(Collection $exceptions)

Store the given array of exception entries.

void
storeTags(Collection $results)

Store the tags for the given entries.

void
insertChunkOfTags(array $tags)

Insert a chunk of tags, ignoring unique constraint violations.

Collection|null
update(Collection $updates)

Store the given entry updates and return the failed updates.

void
updateTags(EntryUpdate $entry)

Update tags of the given entry.

array|null
getMonitorTags()

Get the tags that should be monitored.

void
setMonitorTags(array|null $tags)

Set the tags that should be monitored.

void
loadMonitoredTags()

Load the monitored tags from storage.

bool
isMonitoring(array $tags)

Determine if any of the given tags are currently being monitored.

array
monitoring()

Get the list of tags currently being monitored.

void
monitor(array $tags)

Begin monitoring the given list of tags.

void
stopMonitoring(array $tags)

Stop monitoring the given list of tags.

int
prune(DateTimeInterface $before, bool $keepExceptions)

Prune all of the entries older than the given date.

void
clear()

Clear all the entries.

void
terminate()

Perform any clean-up tasks needed after storing Telescope entries.

table(string $table)

Get a query builder instance for the given table.

Details

at line 54
__construct(string $connection, int|null $chunkSize = null)

Create a new database repository.

Parameters

string $connection
int|null $chunkSize

at line 66
EntryResult find(string $id)

Find the entry with the given ID.

Parameters

string $id

Return Value

EntryResult

at line 104
array|Collection get(string|null $type, EntryQueryOptions $options)

Return all the entries of a given type.

Parameters

string|null $type
EntryQueryOptions $options

Return Value

array|Collection

at line 132
protected int countExceptionOccurrences(IncomingEntry $exception)

Count the occurrences of an exception.

Parameters

IncomingEntry $exception

Return Value

int

at line 143
void store(Collection $entries)

Store the given array of entries.

Parameters

Collection $entries

Return Value

void

at line 171
protected string encodeContent(array $content)

Encode entry content for storage.

Parameters

array $content

Return Value

string

at line 200
protected void storeExceptions(Collection $exceptions)

Store the given array of exception entries.

Parameters

Collection $exceptions

Return Value

void

at line 249
protected void storeTags(Collection $results)

Store the tags for the given entries.

Parameters

Collection $results

Return Value

void

at line 275
protected void insertChunkOfTags(array $tags)

Insert a chunk of tags, ignoring unique constraint violations.

Parameters

array $tags

Return Value

void

at line 287
Collection|null update(Collection $updates)

Store the given entry updates and return the failed updates.

Parameters

Collection $updates

Return Value

Collection|null

at line 321
protected void updateTags(EntryUpdate $entry)

Update tags of the given entry.

Parameters

EntryUpdate $entry

Return Value

void

at line 349
array|null getMonitorTags()

Get the tags that should be monitored.

Return Value

array|null

at line 357
void setMonitorTags(array|null $tags)

Set the tags that should be monitored.

Parameters

array|null $tags

Return Value

void

at line 365
void loadMonitoredTags()

Load the monitored tags from storage.

Return Value

void

at line 381
bool isMonitoring(array $tags)

Determine if any of the given tags are currently being monitored.

Parameters

array $tags

Return Value

bool

at line 393
array monitoring()

Get the list of tags currently being monitored.

Return Value

array

at line 401
void monitor(array $tags)

Begin monitoring the given list of tags.

Parameters

array $tags

Return Value

void

at line 420
void stopMonitoring(array $tags)

Stop monitoring the given list of tags.

Parameters

array $tags

Return Value

void

at line 430
int prune(DateTimeInterface $before, bool $keepExceptions)

Prune all of the entries older than the given date.

Parameters

DateTimeInterface $before
bool $keepExceptions

Return Value

int

at line 454
void clear()

Clear all the entries.

Return Value

void

at line 468
void terminate()

Perform any clean-up tasks needed after storing Telescope entries.

Return Value

void

at line 476
protected Builder table(string $table)

Get a query builder instance for the given table.

Parameters

string $table

Return Value

Builder