Fossil SCM
Make more use of WITHOUT ROWID tables in the main schema.
Commit
b8011bf50817c71ac843e405a5799e1e26ffe06cedd29aee85e3afda21241cdb
Parent
e75753438a31225…
1 file changed
+7
-7
+7
-7
| --- src/schema.c | ||
| +++ src/schema.c | ||
| @@ -28,11 +28,11 @@ | ||
| 28 | 28 | @ -- ~/.fossil file and that stores information about the users setup. |
| 29 | 29 | @ -- |
| 30 | 30 | @ CREATE TABLE global_config( |
| 31 | 31 | @ name TEXT PRIMARY KEY, |
| 32 | 32 | @ value TEXT |
| 33 | -@ ); | |
| 33 | +@ ) WITHOUT ROWID; | |
| 34 | 34 | @ |
| 35 | 35 | @ -- Identifier for this file type. |
| 36 | 36 | @ -- The integer is the same as 'FSLG'. |
| 37 | 37 | @ PRAGMA application_id=252006675; |
| 38 | 38 | ; |
| @@ -138,11 +138,11 @@ | ||
| 138 | 138 | @ CREATE TABLE config( |
| 139 | 139 | @ name TEXT PRIMARY KEY NOT NULL, -- Primary name of the entry |
| 140 | 140 | @ value CLOB, -- Content of the named parameter |
| 141 | 141 | @ mtime DATE, -- last modified. seconds since 1970 |
| 142 | 142 | @ CHECK( typeof(name)='text' AND length(name)>=1 ) |
| 143 | -@ ); | |
| 143 | +@ ) WITHOUT ROWID; | |
| 144 | 144 | @ |
| 145 | 145 | @ -- Artifacts that should not be processed are identified in the |
| 146 | 146 | @ -- "shun" table. Artifacts that are control-file forgeries or |
| 147 | 147 | @ -- spam or artifacts whose contents violate administrative policy |
| 148 | 148 | @ -- can be shunned in order to prevent them from contaminating |
| @@ -151,14 +151,14 @@ | ||
| 151 | 151 | @ -- Shunned artifacts do not exist in the blob table. Hence they |
| 152 | 152 | @ -- have not artifact ID (rid) and we thus must store their full |
| 153 | 153 | @ -- UUID. |
| 154 | 154 | @ -- |
| 155 | 155 | @ CREATE TABLE shun( |
| 156 | -@ uuid UNIQUE, -- UUID of artifact to be shunned. Canonical form | |
| 156 | +@ uuid TEXT PRIMARY KEY,-- UUID of artifact to be shunned. Canonical form | |
| 157 | 157 | @ mtime DATE, -- When added. seconds since 1970 |
| 158 | 158 | @ scom TEXT -- Optional text explaining why the shun occurred |
| 159 | -@ ); | |
| 159 | +@ ) WITHOUT ROWID; | |
| 160 | 160 | @ |
| 161 | 161 | @ -- Artifacts that should not be pushed are stored in the "private" |
| 162 | 162 | @ -- table. Private artifacts are omitted from the "unclustered" and |
| 163 | 163 | @ -- "unsent" tables. |
| 164 | 164 | @ -- |
| @@ -193,11 +193,11 @@ | ||
| 193 | 193 | @ -- |
| 194 | 194 | @ CREATE TABLE concealed( |
| 195 | 195 | @ hash TEXT PRIMARY KEY, -- The SHA1 hash of content |
| 196 | 196 | @ mtime DATE, -- Time created. Seconds since 1970 |
| 197 | 197 | @ content TEXT -- Content intended to be concealed |
| 198 | -@ ); | |
| 198 | +@ ) WITHOUT ROWID; | |
| 199 | 199 | @ |
| 200 | 200 | @ -- The application ID helps the unix "file" command to identify the |
| 201 | 201 | @ -- database as a fossil repository. |
| 202 | 202 | @ PRAGMA application_id=252006673; |
| 203 | 203 | ; |
| @@ -528,11 +528,11 @@ | ||
| 528 | 528 | ** The schema for the local FOSSIL database file found at the root |
| 529 | 529 | ** of every check-out. This database contains the complete state of |
| 530 | 530 | ** the check-out. See also the addendum in zLocalSchemaVmerge[]. |
| 531 | 531 | */ |
| 532 | 532 | const char zLocalSchema[] = |
| 533 | -@ -- The VVAR table holds miscellanous information about the local database | |
| 533 | +@ -- The VVAR table holds miscellanous information about the local checkout | |
| 534 | 534 | @ -- in the form of name-value pairs. This is similar to the VAR table |
| 535 | 535 | @ -- table in the repository except that this table holds information that |
| 536 | 536 | @ -- is specific to the local check-out. |
| 537 | 537 | @ -- |
| 538 | 538 | @ -- Important Variables: |
| @@ -542,11 +542,11 @@ | ||
| 542 | 542 | @ -- |
| 543 | 543 | @ CREATE TABLE vvar( |
| 544 | 544 | @ name TEXT PRIMARY KEY NOT NULL, -- Primary name of the entry |
| 545 | 545 | @ value CLOB, -- Content of the named parameter |
| 546 | 546 | @ CHECK( typeof(name)='text' AND length(name)>=1 ) |
| 547 | -@ ); | |
| 547 | +@ ) WITHOUT ROWID; | |
| 548 | 548 | @ |
| 549 | 549 | @ -- Each entry in the vfile table represents a single file in the |
| 550 | 550 | @ -- current check-out. |
| 551 | 551 | @ -- |
| 552 | 552 | @ -- The file.rid field is 0 for files or folders that have been |
| 553 | 553 |
| --- src/schema.c | |
| +++ src/schema.c | |
| @@ -28,11 +28,11 @@ | |
| 28 | @ -- ~/.fossil file and that stores information about the users setup. |
| 29 | @ -- |
| 30 | @ CREATE TABLE global_config( |
| 31 | @ name TEXT PRIMARY KEY, |
| 32 | @ value TEXT |
| 33 | @ ); |
| 34 | @ |
| 35 | @ -- Identifier for this file type. |
| 36 | @ -- The integer is the same as 'FSLG'. |
| 37 | @ PRAGMA application_id=252006675; |
| 38 | ; |
| @@ -138,11 +138,11 @@ | |
| 138 | @ CREATE TABLE config( |
| 139 | @ name TEXT PRIMARY KEY NOT NULL, -- Primary name of the entry |
| 140 | @ value CLOB, -- Content of the named parameter |
| 141 | @ mtime DATE, -- last modified. seconds since 1970 |
| 142 | @ CHECK( typeof(name)='text' AND length(name)>=1 ) |
| 143 | @ ); |
| 144 | @ |
| 145 | @ -- Artifacts that should not be processed are identified in the |
| 146 | @ -- "shun" table. Artifacts that are control-file forgeries or |
| 147 | @ -- spam or artifacts whose contents violate administrative policy |
| 148 | @ -- can be shunned in order to prevent them from contaminating |
| @@ -151,14 +151,14 @@ | |
| 151 | @ -- Shunned artifacts do not exist in the blob table. Hence they |
| 152 | @ -- have not artifact ID (rid) and we thus must store their full |
| 153 | @ -- UUID. |
| 154 | @ -- |
| 155 | @ CREATE TABLE shun( |
| 156 | @ uuid UNIQUE, -- UUID of artifact to be shunned. Canonical form |
| 157 | @ mtime DATE, -- When added. seconds since 1970 |
| 158 | @ scom TEXT -- Optional text explaining why the shun occurred |
| 159 | @ ); |
| 160 | @ |
| 161 | @ -- Artifacts that should not be pushed are stored in the "private" |
| 162 | @ -- table. Private artifacts are omitted from the "unclustered" and |
| 163 | @ -- "unsent" tables. |
| 164 | @ -- |
| @@ -193,11 +193,11 @@ | |
| 193 | @ -- |
| 194 | @ CREATE TABLE concealed( |
| 195 | @ hash TEXT PRIMARY KEY, -- The SHA1 hash of content |
| 196 | @ mtime DATE, -- Time created. Seconds since 1970 |
| 197 | @ content TEXT -- Content intended to be concealed |
| 198 | @ ); |
| 199 | @ |
| 200 | @ -- The application ID helps the unix "file" command to identify the |
| 201 | @ -- database as a fossil repository. |
| 202 | @ PRAGMA application_id=252006673; |
| 203 | ; |
| @@ -528,11 +528,11 @@ | |
| 528 | ** The schema for the local FOSSIL database file found at the root |
| 529 | ** of every check-out. This database contains the complete state of |
| 530 | ** the check-out. See also the addendum in zLocalSchemaVmerge[]. |
| 531 | */ |
| 532 | const char zLocalSchema[] = |
| 533 | @ -- The VVAR table holds miscellanous information about the local database |
| 534 | @ -- in the form of name-value pairs. This is similar to the VAR table |
| 535 | @ -- table in the repository except that this table holds information that |
| 536 | @ -- is specific to the local check-out. |
| 537 | @ -- |
| 538 | @ -- Important Variables: |
| @@ -542,11 +542,11 @@ | |
| 542 | @ -- |
| 543 | @ CREATE TABLE vvar( |
| 544 | @ name TEXT PRIMARY KEY NOT NULL, -- Primary name of the entry |
| 545 | @ value CLOB, -- Content of the named parameter |
| 546 | @ CHECK( typeof(name)='text' AND length(name)>=1 ) |
| 547 | @ ); |
| 548 | @ |
| 549 | @ -- Each entry in the vfile table represents a single file in the |
| 550 | @ -- current check-out. |
| 551 | @ -- |
| 552 | @ -- The file.rid field is 0 for files or folders that have been |
| 553 |
| --- src/schema.c | |
| +++ src/schema.c | |
| @@ -28,11 +28,11 @@ | |
| 28 | @ -- ~/.fossil file and that stores information about the users setup. |
| 29 | @ -- |
| 30 | @ CREATE TABLE global_config( |
| 31 | @ name TEXT PRIMARY KEY, |
| 32 | @ value TEXT |
| 33 | @ ) WITHOUT ROWID; |
| 34 | @ |
| 35 | @ -- Identifier for this file type. |
| 36 | @ -- The integer is the same as 'FSLG'. |
| 37 | @ PRAGMA application_id=252006675; |
| 38 | ; |
| @@ -138,11 +138,11 @@ | |
| 138 | @ CREATE TABLE config( |
| 139 | @ name TEXT PRIMARY KEY NOT NULL, -- Primary name of the entry |
| 140 | @ value CLOB, -- Content of the named parameter |
| 141 | @ mtime DATE, -- last modified. seconds since 1970 |
| 142 | @ CHECK( typeof(name)='text' AND length(name)>=1 ) |
| 143 | @ ) WITHOUT ROWID; |
| 144 | @ |
| 145 | @ -- Artifacts that should not be processed are identified in the |
| 146 | @ -- "shun" table. Artifacts that are control-file forgeries or |
| 147 | @ -- spam or artifacts whose contents violate administrative policy |
| 148 | @ -- can be shunned in order to prevent them from contaminating |
| @@ -151,14 +151,14 @@ | |
| 151 | @ -- Shunned artifacts do not exist in the blob table. Hence they |
| 152 | @ -- have not artifact ID (rid) and we thus must store their full |
| 153 | @ -- UUID. |
| 154 | @ -- |
| 155 | @ CREATE TABLE shun( |
| 156 | @ uuid TEXT PRIMARY KEY,-- UUID of artifact to be shunned. Canonical form |
| 157 | @ mtime DATE, -- When added. seconds since 1970 |
| 158 | @ scom TEXT -- Optional text explaining why the shun occurred |
| 159 | @ ) WITHOUT ROWID; |
| 160 | @ |
| 161 | @ -- Artifacts that should not be pushed are stored in the "private" |
| 162 | @ -- table. Private artifacts are omitted from the "unclustered" and |
| 163 | @ -- "unsent" tables. |
| 164 | @ -- |
| @@ -193,11 +193,11 @@ | |
| 193 | @ -- |
| 194 | @ CREATE TABLE concealed( |
| 195 | @ hash TEXT PRIMARY KEY, -- The SHA1 hash of content |
| 196 | @ mtime DATE, -- Time created. Seconds since 1970 |
| 197 | @ content TEXT -- Content intended to be concealed |
| 198 | @ ) WITHOUT ROWID; |
| 199 | @ |
| 200 | @ -- The application ID helps the unix "file" command to identify the |
| 201 | @ -- database as a fossil repository. |
| 202 | @ PRAGMA application_id=252006673; |
| 203 | ; |
| @@ -528,11 +528,11 @@ | |
| 528 | ** The schema for the local FOSSIL database file found at the root |
| 529 | ** of every check-out. This database contains the complete state of |
| 530 | ** the check-out. See also the addendum in zLocalSchemaVmerge[]. |
| 531 | */ |
| 532 | const char zLocalSchema[] = |
| 533 | @ -- The VVAR table holds miscellanous information about the local checkout |
| 534 | @ -- in the form of name-value pairs. This is similar to the VAR table |
| 535 | @ -- table in the repository except that this table holds information that |
| 536 | @ -- is specific to the local check-out. |
| 537 | @ -- |
| 538 | @ -- Important Variables: |
| @@ -542,11 +542,11 @@ | |
| 542 | @ -- |
| 543 | @ CREATE TABLE vvar( |
| 544 | @ name TEXT PRIMARY KEY NOT NULL, -- Primary name of the entry |
| 545 | @ value CLOB, -- Content of the named parameter |
| 546 | @ CHECK( typeof(name)='text' AND length(name)>=1 ) |
| 547 | @ ) WITHOUT ROWID; |
| 548 | @ |
| 549 | @ -- Each entry in the vfile table represents a single file in the |
| 550 | @ -- current check-out. |
| 551 | @ -- |
| 552 | @ -- The file.rid field is 0 for files or folders that have been |
| 553 |