Fossil SCM

The UNIQUE constraint on the default TICKET table was wrong. The tkt_uuid column should be unique unto itself, not in combination with tkt_time. Existing servers will need to fix their TICKET implementations using the setup menu. This check-in changes the default.

drh 2008-10-05 13:13 trunk
Commit fb8dc7d07f8e9ac0dda84ee16a1d7b0a5b973f1a
2 files changed +17 -3 +2 -4
+17 -3
--- src/schema.c
+++ src/schema.c
@@ -278,15 +278,29 @@
278278
@ );
279279
@ CREATE INDEX tagxref_i1 ON tagxref(tagid, mtime);
280280
@
281281
@ -- Template for the TICKET table
282282
@ --
283
+@ -- NB: when changing the schema of the TICKET table here, also make the
284
+@ -- same change in tktsetup.c.
285
+@ --
283286
@ CREATE TABLE ticket(
287
+@ -- Do not change any column that begins with tkt_
284288
@ tkt_id INTEGER PRIMARY KEY,
285
-@ tkt_uuid TEXT,
286
-@ tkt_mtime REAL,
287
-@ UNIQUE(tkt_uuid, tkt_mtime)
289
+@ tkt_uuid TEXT UNIQUE,
290
+@ tkt_mtime DATE,
291
+@ -- Add as many field as required below this line
292
+@ type TEXT,
293
+@ status TEXT,
294
+@ subsystem TEXT,
295
+@ priority TEXT,
296
+@ severity TEXT,
297
+@ foundin TEXT,
298
+@ private_contact TEXT,
299
+@ resolution TEXT,
300
+@ title TEXT,
301
+@ comment TEXT
288302
@ );
289303
;
290304
291305
/*
292306
** Predefined tagid values
293307
--- src/schema.c
+++ src/schema.c
@@ -278,15 +278,29 @@
278 @ );
279 @ CREATE INDEX tagxref_i1 ON tagxref(tagid, mtime);
280 @
281 @ -- Template for the TICKET table
282 @ --
 
 
 
283 @ CREATE TABLE ticket(
 
284 @ tkt_id INTEGER PRIMARY KEY,
285 @ tkt_uuid TEXT,
286 @ tkt_mtime REAL,
287 @ UNIQUE(tkt_uuid, tkt_mtime)
 
 
 
 
 
 
 
 
 
 
288 @ );
289 ;
290
291 /*
292 ** Predefined tagid values
293
--- src/schema.c
+++ src/schema.c
@@ -278,15 +278,29 @@
278 @ );
279 @ CREATE INDEX tagxref_i1 ON tagxref(tagid, mtime);
280 @
281 @ -- Template for the TICKET table
282 @ --
283 @ -- NB: when changing the schema of the TICKET table here, also make the
284 @ -- same change in tktsetup.c.
285 @ --
286 @ CREATE TABLE ticket(
287 @ -- Do not change any column that begins with tkt_
288 @ tkt_id INTEGER PRIMARY KEY,
289 @ tkt_uuid TEXT UNIQUE,
290 @ tkt_mtime DATE,
291 @ -- Add as many field as required below this line
292 @ type TEXT,
293 @ status TEXT,
294 @ subsystem TEXT,
295 @ priority TEXT,
296 @ severity TEXT,
297 @ foundin TEXT,
298 @ private_contact TEXT,
299 @ resolution TEXT,
300 @ title TEXT,
301 @ comment TEXT
302 @ );
303 ;
304
305 /*
306 ** Predefined tagid values
307
+2 -4
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -65,11 +65,11 @@
6565
/* @-comment: ** */
6666
static const char zDefaultTicketTable[] =
6767
@ CREATE TABLE ticket(
6868
@ -- Do not change any column that begins with tkt_
6969
@ tkt_id INTEGER PRIMARY KEY,
70
-@ tkt_uuid TEXT,
70
+@ tkt_uuid TEXT UNIQUE,
7171
@ tkt_mtime DATE,
7272
@ -- Add as many field as required below this line
7373
@ type TEXT,
7474
@ status TEXT,
7575
@ subsystem TEXT,
@@ -77,13 +77,11 @@
7777
@ severity TEXT,
7878
@ foundin TEXT,
7979
@ private_contact TEXT,
8080
@ resolution TEXT,
8181
@ title TEXT,
82
-@ comment TEXT,
83
-@ -- Do not alter this UNIQUE clause:
84
-@ UNIQUE(tkt_uuid, tkt_mtime)
82
+@ comment TEXT
8583
@ );
8684
;
8785
8886
/*
8987
** Return the ticket table definition
9088
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -65,11 +65,11 @@
65 /* @-comment: ** */
66 static const char zDefaultTicketTable[] =
67 @ CREATE TABLE ticket(
68 @ -- Do not change any column that begins with tkt_
69 @ tkt_id INTEGER PRIMARY KEY,
70 @ tkt_uuid TEXT,
71 @ tkt_mtime DATE,
72 @ -- Add as many field as required below this line
73 @ type TEXT,
74 @ status TEXT,
75 @ subsystem TEXT,
@@ -77,13 +77,11 @@
77 @ severity TEXT,
78 @ foundin TEXT,
79 @ private_contact TEXT,
80 @ resolution TEXT,
81 @ title TEXT,
82 @ comment TEXT,
83 @ -- Do not alter this UNIQUE clause:
84 @ UNIQUE(tkt_uuid, tkt_mtime)
85 @ );
86 ;
87
88 /*
89 ** Return the ticket table definition
90
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -65,11 +65,11 @@
65 /* @-comment: ** */
66 static const char zDefaultTicketTable[] =
67 @ CREATE TABLE ticket(
68 @ -- Do not change any column that begins with tkt_
69 @ tkt_id INTEGER PRIMARY KEY,
70 @ tkt_uuid TEXT UNIQUE,
71 @ tkt_mtime DATE,
72 @ -- Add as many field as required below this line
73 @ type TEXT,
74 @ status TEXT,
75 @ subsystem TEXT,
@@ -77,13 +77,11 @@
77 @ severity TEXT,
78 @ foundin TEXT,
79 @ private_contact TEXT,
80 @ resolution TEXT,
81 @ title TEXT,
82 @ comment TEXT
 
 
83 @ );
84 ;
85
86 /*
87 ** Return the ticket table definition
88

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button