Ingo Schommer a50e15e5ee FIX Avoid VACUUM on test dbs in Postgres
The Postgres implementation was always faulty,
but the database exception was swallowed until
See https://github.com/silverstripe/silverstripe-framework/pull/9456.

Now that the the exception is only swallowed the first time,
the second recurrence will cause failing test execution.

This is a bit of an awkward fix, but the indirection "through" DataObject doesn't allow for anything else without changing public API surface.
The logic goes from TempDatabase to DBSchemaManager, then through the closure into DataObject->requireTable(),
then back into DBSchemaManager->requireTable(). And updateschema() is subclassed in SQLite3, making it difficult to add more arguments.

VACUUM is described as:

> VACUUM reclaims storage occupied by dead tuples. In normal PostgreSQL operation, tuples that are deleted or obsoleted by an update are not physically removed from their table; they remain present until a VACUUM is done. Therefore it's necessary to do VACUUM periodically, especially on frequently-updated tables.

https://www.postgresql.org/docs/9.1/sql-vacuum.html

Since test databases are short-lived, there's no reason to delete dead tuples, they'll be garbage collected when either the transaction is rolled back, or the database is destroyed after the test run.
2020-04-09 14:43:16 +12:00
2019-11-20 16:26:13 +13:00
2017-04-28 14:59:42 +12:00
2020-04-01 19:23:47 +01:00
2018-06-01 10:14:42 +12:00
2017-10-12 11:53:12 +13:00
2017-12-05 12:14:22 +00:00
2020-02-28 11:48:18 +13:00
2019-02-01 15:56:29 +13:00
2018-02-08 10:32:56 +00:00
2018-03-27 11:49:04 +01:00

SilverStripe Framework

Build Status Latest Stable Version Latest Unstable Version codecov SilverStripe supported module Total Downloads License

PHP framework forming the base for the SilverStripe CMS (https://silverstripe.org). Requires a silverstripe-installer base project. Typically used alongside the cms module.

Installation

See installation on different platforms, and installation from source.

Bugtracker

Bugs are tracked on github.com. Please read our issue reporting guidelines.

Development and Contribution

If you would like to make changes to the SilverStripe core codebase, we have an extensive guide to contributing code.

Attribution

Description
No description provided
Readme 162 MiB
Languages
PHP 99.4%
Scheme 0.5%