commit | fa7564215165b8064baed0268296e3d2f02236ac | [log] [tgz] |
---|---|---|
author | Florian Leimgruber <fleimgruber@google.com> | Wed May 10 17:55:27 2023 |
committer | Chromium LUCI CQ <chromium-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed May 10 17:55:27 2023 |
tree | 33b43b31bbc99a6571ed88e850a571fe5856de6c | |
parent | be0eee32c145c41925c27fc3df59f6f46a2cdcdb [diff] |
Fix WebDatabase golden files. With every new version of the WebDatabase, an SQL file of the previous version if supported to be created. This is used in the migration tests, to ensure that migrating from version x -> current results in the same database as creating it from scratch. However, oftentimes this is not done with care. In several cases, version_x.sql == version_(x-1).sql, defeating the purpose of the tests. In other cases, version_x.sql only reflects some of the changes of version x. This usually doesn't cause the unit tests to break: - If the indicated version in the SQL file is lower than it's supposed to be, the older migration logic is run, effectively migrating the table to the version the file is supposed to represent. - AutofillTable (seemingly the most upgraded WebDatabase) initializes tables conditionally. E.g. if (!table exists) create. Thus, failing to create a table in the SQL file usually doesn't cause problems. These changes are made: - Version 87, 89, 91, 92, 95, 96 and 102 contain a version number smaller than the version they are supposed to represent and miss some or all of the changes of their respective version. This is fixed by changing the version number and making the necessary changes to the create table statements. - Version 102 didn't add the autofill_profile_birthdates table that was created in version 101. All subsequent version files don't include it either, presumably because they were created by modifying the previous version file. This is fixed by adding the table in all version >= 102 files. - An INSERT INTO statement appeared in version 88, and disappeared again in version 98. This presumably happened because someone created the schema by dumping the database and forgot to remove it. This insert is removed, as the golden files are supposed to represent the schema of the database only. - (Some newlines at the end of some file are added. Newlines at the end of the SQL files are inconsistent and my editor decided to add some) This is a (very late, sorry) follow-up to this discussion: https://chromium-review.googlesource.com/c/chromium/src/+/3941805/comment/07b0cadb_3552e487/ Bug: 1007974 Change-Id: I2a7614799e2571516587b26ccaf72514c32deec0 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4521341 Commit-Queue: Peter Kasting <pkasting@chromium.org> Commit-Queue: Florian Leimgruber <fleimgruber@google.com> Reviewed-by: Peter Kasting <pkasting@chromium.org> Cr-Commit-Position: refs/heads/main@{#1142180}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
To check out the source code locally, don't use git clone
! Instead, follow the instructions on how to get the code.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .
For historical reasons, there are some small top level directories. Now the guidance is that new top level directories are for product (e.g. Chrome, Android WebView, Ash). Even if these products have multiple executables, the code should be in subdirectories of the product.
If you found a bug, please file it at https://crbug.com/new.