Fossil SCM

Rename proposed column to <var>tkt_user</var> which seems more natural. Amend default schema to create this column (and also drop a nearby comment). Add a tiny optimization to <code>getAllTicketFields()</code>.

george 2022-05-08 20:40 tkt-ucard
Commit 6d95ae4f888af00579130648bc93009239cab78a8c35d34ce5c2d05f081dc4ad
3 files changed +1 -1 +10 -7 +1 -1
+1 -1
--- src/schema.c
+++ src/schema.c
@@ -458,11 +458,11 @@
458458
@ CREATE TABLE ticketchng(
459459
@ -- Do not change any column that begins with tkt_
460460
@ tkt_id INTEGER REFERENCES ticket,
461461
@ tkt_rid INTEGER REFERENCES blob,
462462
@ tkt_mtime DATE,
463
-@ -- tkt_ucard TEXT, -- optional predefined field
463
+@ tkt_user TEXT,
464464
@ -- Add as many fields as required below this line
465465
@ login TEXT,
466466
@ username TEXT,
467467
@ mimetype TEXT,
468468
@ icomment TEXT
469469
--- src/schema.c
+++ src/schema.c
@@ -458,11 +458,11 @@
458 @ CREATE TABLE ticketchng(
459 @ -- Do not change any column that begins with tkt_
460 @ tkt_id INTEGER REFERENCES ticket,
461 @ tkt_rid INTEGER REFERENCES blob,
462 @ tkt_mtime DATE,
463 @ -- tkt_ucard TEXT, -- optional predefined field
464 @ -- Add as many fields as required below this line
465 @ login TEXT,
466 @ username TEXT,
467 @ mimetype TEXT,
468 @ icomment TEXT
469
--- src/schema.c
+++ src/schema.c
@@ -458,11 +458,11 @@
458 @ CREATE TABLE ticketchng(
459 @ -- Do not change any column that begins with tkt_
460 @ tkt_id INTEGER REFERENCES ticket,
461 @ tkt_rid INTEGER REFERENCES blob,
462 @ tkt_mtime DATE,
463 @ tkt_user TEXT,
464 @ -- Add as many fields as required below this line
465 @ login TEXT,
466 @ username TEXT,
467 @ mimetype TEXT,
468 @ icomment TEXT
469
+10 -7
--- src/tkt.c
+++ src/tkt.c
@@ -39,11 +39,11 @@
3939
#define USEDBY_BOTH 03
4040
static u8 haveTicket = 0; /* True if the TICKET table exists */
4141
static u8 haveTicketCTime = 0; /* True if TICKET.TKT_CTIME exists */
4242
static u8 haveTicketChng = 0; /* True if the TICKETCHNG table exists */
4343
static u8 haveTicketChngRid = 0; /* True if TICKETCHNG.TKT_RID exists */
44
-static u8 haveTicketChngUcard=0; /* True if TICKETCHNG.TKT_UCARD exists */
44
+static u8 haveTicketChngUser = 0;/* True if TICKETCHNG.TKT_USER exists */
4545
4646
/*
4747
** Compare two entries in aField[] for sorting purposes
4848
*/
4949
static int nameCmpr(const void *a, const void *b){
@@ -95,12 +95,15 @@
9595
db_prepare(&q, "PRAGMA table_info(ticketchng)");
9696
while( db_step(&q)==SQLITE_ROW ){
9797
const char *zFieldName = db_column_text(&q, 1);
9898
haveTicketChng = 1;
9999
if( memcmp(zFieldName,"tkt_",4)==0 ){
100
- if( strcmp(zFieldName,"tkt_rid")==0 ) haveTicketChngRid = 1;
101
- if( strcmp(zFieldName,"tkt_ucard")==0 ) haveTicketChngUcard = 1;
100
+ if( strcmp(zFieldName+4,"rid")==0 ){
101
+ haveTicketChngRid = 1; /* tkt_rid */
102
+ }else if( strcmp(zFieldName+4,"user")==0 ){
103
+ haveTicketChngUser = 1; /* tkt_user */
104
+ }
102105
continue;
103106
}
104107
if( (i = fieldId(zFieldName))>=0 ){
105108
aField[i].mUsed |= USEDBY_TICKETCHNG;
106109
continue;
@@ -252,19 +255,19 @@
252255
db_prepare(&q, "%s", blob_sql_text(&sql1));
253256
db_bind_double(&q, ":mtime", p->rDate);
254257
db_step(&q);
255258
db_finalize(&q);
256259
blob_reset(&sql1);
257
- if( blob_size(&sql2)>0 || haveTicketChngRid || haveTicketChngUcard ){
260
+ if( blob_size(&sql2)>0 || haveTicketChngRid || haveTicketChngUser ){
258261
int fromTkt = 0;
259262
if( haveTicketChngRid ){
260263
blob_append_literal(&sql2, ",tkt_rid");
261264
blob_append_sql(&sql3, ",%d", rid);
262265
}
263
- if( haveTicketChngUcard && p->zUser ){
264
- blob_append_literal(&sql2, ",tkt_ucard");
265
- blob_append_sql(&sql3, ",%Q", p->zUser );
266
+ if( haveTicketChngUser && p->zUser ){
267
+ blob_append_literal(&sql2, ",tkt_user");
268
+ blob_append_sql(&sql3, ",%Q", p->zUser);
266269
}
267270
for(i=0; i<nField; i++){
268271
if( aUsed[i]==0
269272
&& (aField[i].mUsed & USEDBY_BOTH)==USEDBY_BOTH
270273
){
271274
--- src/tkt.c
+++ src/tkt.c
@@ -39,11 +39,11 @@
39 #define USEDBY_BOTH 03
40 static u8 haveTicket = 0; /* True if the TICKET table exists */
41 static u8 haveTicketCTime = 0; /* True if TICKET.TKT_CTIME exists */
42 static u8 haveTicketChng = 0; /* True if the TICKETCHNG table exists */
43 static u8 haveTicketChngRid = 0; /* True if TICKETCHNG.TKT_RID exists */
44 static u8 haveTicketChngUcard=0; /* True if TICKETCHNG.TKT_UCARD exists */
45
46 /*
47 ** Compare two entries in aField[] for sorting purposes
48 */
49 static int nameCmpr(const void *a, const void *b){
@@ -95,12 +95,15 @@
95 db_prepare(&q, "PRAGMA table_info(ticketchng)");
96 while( db_step(&q)==SQLITE_ROW ){
97 const char *zFieldName = db_column_text(&q, 1);
98 haveTicketChng = 1;
99 if( memcmp(zFieldName,"tkt_",4)==0 ){
100 if( strcmp(zFieldName,"tkt_rid")==0 ) haveTicketChngRid = 1;
101 if( strcmp(zFieldName,"tkt_ucard")==0 ) haveTicketChngUcard = 1;
 
 
 
102 continue;
103 }
104 if( (i = fieldId(zFieldName))>=0 ){
105 aField[i].mUsed |= USEDBY_TICKETCHNG;
106 continue;
@@ -252,19 +255,19 @@
252 db_prepare(&q, "%s", blob_sql_text(&sql1));
253 db_bind_double(&q, ":mtime", p->rDate);
254 db_step(&q);
255 db_finalize(&q);
256 blob_reset(&sql1);
257 if( blob_size(&sql2)>0 || haveTicketChngRid || haveTicketChngUcard ){
258 int fromTkt = 0;
259 if( haveTicketChngRid ){
260 blob_append_literal(&sql2, ",tkt_rid");
261 blob_append_sql(&sql3, ",%d", rid);
262 }
263 if( haveTicketChngUcard && p->zUser ){
264 blob_append_literal(&sql2, ",tkt_ucard");
265 blob_append_sql(&sql3, ",%Q", p->zUser );
266 }
267 for(i=0; i<nField; i++){
268 if( aUsed[i]==0
269 && (aField[i].mUsed & USEDBY_BOTH)==USEDBY_BOTH
270 ){
271
--- src/tkt.c
+++ src/tkt.c
@@ -39,11 +39,11 @@
39 #define USEDBY_BOTH 03
40 static u8 haveTicket = 0; /* True if the TICKET table exists */
41 static u8 haveTicketCTime = 0; /* True if TICKET.TKT_CTIME exists */
42 static u8 haveTicketChng = 0; /* True if the TICKETCHNG table exists */
43 static u8 haveTicketChngRid = 0; /* True if TICKETCHNG.TKT_RID exists */
44 static u8 haveTicketChngUser = 0;/* True if TICKETCHNG.TKT_USER exists */
45
46 /*
47 ** Compare two entries in aField[] for sorting purposes
48 */
49 static int nameCmpr(const void *a, const void *b){
@@ -95,12 +95,15 @@
95 db_prepare(&q, "PRAGMA table_info(ticketchng)");
96 while( db_step(&q)==SQLITE_ROW ){
97 const char *zFieldName = db_column_text(&q, 1);
98 haveTicketChng = 1;
99 if( memcmp(zFieldName,"tkt_",4)==0 ){
100 if( strcmp(zFieldName+4,"rid")==0 ){
101 haveTicketChngRid = 1; /* tkt_rid */
102 }else if( strcmp(zFieldName+4,"user")==0 ){
103 haveTicketChngUser = 1; /* tkt_user */
104 }
105 continue;
106 }
107 if( (i = fieldId(zFieldName))>=0 ){
108 aField[i].mUsed |= USEDBY_TICKETCHNG;
109 continue;
@@ -252,19 +255,19 @@
255 db_prepare(&q, "%s", blob_sql_text(&sql1));
256 db_bind_double(&q, ":mtime", p->rDate);
257 db_step(&q);
258 db_finalize(&q);
259 blob_reset(&sql1);
260 if( blob_size(&sql2)>0 || haveTicketChngRid || haveTicketChngUser ){
261 int fromTkt = 0;
262 if( haveTicketChngRid ){
263 blob_append_literal(&sql2, ",tkt_rid");
264 blob_append_sql(&sql3, ",%d", rid);
265 }
266 if( haveTicketChngUser && p->zUser ){
267 blob_append_literal(&sql2, ",tkt_user");
268 blob_append_sql(&sql3, ",%Q", p->zUser);
269 }
270 for(i=0; i<nField; i++){
271 if( aUsed[i]==0
272 && (aField[i].mUsed & USEDBY_BOTH)==USEDBY_BOTH
273 ){
274
+1 -1
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -86,11 +86,11 @@
8686
@ CREATE TABLE ticketchng(
8787
@ -- Do not change any column that begins with tkt_
8888
@ tkt_id INTEGER REFERENCES ticket,
8989
@ tkt_rid INTEGER REFERENCES blob,
9090
@ tkt_mtime DATE,
91
-@ -- tkt_ucard TEXT, -- optional predefined field
91
+@ tkt_user TEXT,
9292
@ -- Add as many fields as required below this line
9393
@ login TEXT,
9494
@ username TEXT,
9595
@ mimetype TEXT,
9696
@ icomment TEXT
9797
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -86,11 +86,11 @@
86 @ CREATE TABLE ticketchng(
87 @ -- Do not change any column that begins with tkt_
88 @ tkt_id INTEGER REFERENCES ticket,
89 @ tkt_rid INTEGER REFERENCES blob,
90 @ tkt_mtime DATE,
91 @ -- tkt_ucard TEXT, -- optional predefined field
92 @ -- Add as many fields as required below this line
93 @ login TEXT,
94 @ username TEXT,
95 @ mimetype TEXT,
96 @ icomment TEXT
97
--- src/tktsetup.c
+++ src/tktsetup.c
@@ -86,11 +86,11 @@
86 @ CREATE TABLE ticketchng(
87 @ -- Do not change any column that begins with tkt_
88 @ tkt_id INTEGER REFERENCES ticket,
89 @ tkt_rid INTEGER REFERENCES blob,
90 @ tkt_mtime DATE,
91 @ tkt_user TEXT,
92 @ -- Add as many fields as required below this line
93 @ login TEXT,
94 @ username TEXT,
95 @ mimetype TEXT,
96 @ icomment TEXT
97

Keyboard Shortcuts

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