mirror of
https://github.com/sqlite/sqlite.git
synced 2025-07-30 19:03:16 +03:00
Remove sqldiff --visible-controls option, make it always happen. Add test cases for controls made visible
FossilOrigin-Name: ff74c0cc4cefa5271b12ecfff3f2fd4749852d9d1d01f4ae64a07a26decc001b
This commit is contained in:
14
manifest
14
manifest
@ -1,5 +1,5 @@
|
||||
C Give\ssqldiff\s--visible-controls\soption\sto\sdeal\swith\snon-graphic\stext\scontent\srobustly\sacross\splatforms
|
||||
D 2021-07-26T18:28:24.001
|
||||
C Remove\ssqldiff\s--visible-controls\soption,\smake\sit\salways\shappen.\sAdd\stest\scases\sfor\scontrols\smade\svisible
|
||||
D 2021-07-26T19:49:01.920
|
||||
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
|
||||
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
|
||||
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
|
||||
@ -1417,7 +1417,7 @@ F test/spellfix.test 951a6405d49d1a23d6b78027d3877b4a33eeb8221dcab5704b499755bb4
|
||||
F test/spellfix2.test dfc8f519a3fc204cb2dfa8b4f29821ae90f6f8c3
|
||||
F test/spellfix3.test 0f9efaaa502a0e0a09848028518a6fb096c8ad33
|
||||
F test/spellfix4.test 51c7c26514ade169855c66bcf130bd5acfb4d7fd090cc624645ab275ae6a41fb
|
||||
F test/sqldiff1.test 28cd737cf1b0078b1ec1bbf425e674c47785835e
|
||||
F test/sqldiff1.test 182058e09c7082de5c6a470ff9c291337bbeb650052c2cc68fbb3d7e25861d91
|
||||
F test/sqllimits1.test 3f9030e5d35375ad3b912b4908094aa806335c8e9d804b8ffff70c5e9c664ab2
|
||||
F test/sqllog.test 6af6cb0b09f4e44e1917e06ce85be7670302517a
|
||||
F test/startup.c 1beb5ca66fcc0fce95c3444db9d1674f90fc605499a574ae2434dcfc10d22805
|
||||
@ -1885,7 +1885,7 @@ F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
|
||||
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
|
||||
F tool/speedtest8inst1.c 7ce07da76b5e745783e703a834417d725b7d45fd
|
||||
F tool/split-sqlite3c.tcl 3efcd4240b738f6bb2b5af0aea7e1e0ef9bc1c61654f645076cec883030b710c
|
||||
F tool/sqldiff.c b4906b8a88252c94a77f2080f10c2624ba9b11f2577f25c1b29c3324a7a76c83
|
||||
F tool/sqldiff.c a94207d8a8b8ae20973012756362a850ba1f95bb4ed02cf950fd469eb556717c
|
||||
F tool/sqlite3_analyzer.c.in 7eeaae8b0d7577662acaabbb11107af0659d1b41bc1dfdd4d91422de27127968
|
||||
F tool/sqltclsh.c.in 1bcc2e9da58fadf17b0bf6a50e68c1159e602ce057210b655d50bad5aaaef898
|
||||
F tool/sqltclsh.tcl 862f4cf1418df5e1315b5db3b5ebe88969e2a784525af5fbf9596592f14ed848
|
||||
@ -1920,7 +1920,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
|
||||
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
|
||||
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
|
||||
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
|
||||
P 54eaf076c05887157179459ab39c2556953f6fef9c1b14f17a8aa74087da3023
|
||||
R a514ddb4ecddc8a67fe058834fe110d9
|
||||
P 68d2373f5d578cf3aff9d1ac4b1ab3ac00b466e94e1eb516523fc7660dfc0549
|
||||
R b342ee6ef1ac53ce3fb2ee3a5429a66d
|
||||
U larrybr
|
||||
Z 948d1027dff68e9d9c973736292e2ed9
|
||||
Z 6a37992a46fe8182f8f9e189a49d79b9
|
||||
|
@ -1 +1 @@
|
||||
68d2373f5d578cf3aff9d1ac4b1ab3ac00b466e94e1eb516523fc7660dfc0549
|
||||
ff74c0cc4cefa5271b12ecfff3f2fd4749852d9d1d01f4ae64a07a26decc001b
|
@ -35,6 +35,10 @@ do_test sqldiff-1.0 {
|
||||
DELETE FROM x2.t2 WHERE a=48;
|
||||
INSERT INTO x2.t1(a,b) VALUES(1234,'hello');
|
||||
INSERT INTO x2.t2(a,b) VALUES(50.5,'xyzzy');
|
||||
INSERT INTO x2.t2(a,b) VALUES(51.5,'');
|
||||
INSERT INTO x2.t2(a,b) VALUES(52.5,''||X'0d0a');
|
||||
INSERT INTO x2.t2(a,b) VALUES(53.5,'one'||X'0a0d');
|
||||
INSERT INTO x2.t2(a,b) VALUES(54.5,'one'||X'0a'||'two');
|
||||
CREATE TABLE x2.t3(a,b,c);
|
||||
INSERT INTO x2.t3 VALUES(111,222,333);
|
||||
CREATE TABLE main.t4(x,y,z);
|
||||
@ -50,6 +54,11 @@ do_test sqldiff-1.1 {
|
||||
INSERT INTO t1(a,b) VALUES(1234,'hello');
|
||||
DELETE FROM t2 WHERE a=48;
|
||||
INSERT INTO t2(a,b) VALUES(50.5,'xyzzy');
|
||||
INSERT INTO t2(a,b) VALUES(51.5,'');
|
||||
INSERT INTO t2(a,b) VALUES(52.5,''||X'0d0a');
|
||||
INSERT INTO t2(a,b) VALUES(53.5,'one'||X'0a0d');
|
||||
INSERT INTO t2(a,b) VALUES(54.5,'one'||X'0a'
|
||||
||'two');
|
||||
CREATE TABLE t3(a,b,c);
|
||||
INSERT INTO t3(rowid,a,b,c) VALUES(1,111,222,333);
|
||||
DROP TABLE t4;}
|
||||
|
@ -34,7 +34,6 @@ struct GlobalVars {
|
||||
int bSchemaOnly; /* Only show schema differences */
|
||||
int bSchemaPK; /* Use the schema-defined PK, not the true PK */
|
||||
int bHandleVtab; /* Handle fts3, fts4, fts5 and rtree vtabs */
|
||||
int bDarkCtl; /* Render controls in text as blob literals */
|
||||
unsigned fDebug; /* Debug flags */
|
||||
sqlite3 *db; /* The database connection */
|
||||
} g;
|
||||
@ -381,45 +380,35 @@ static void printQuoted(FILE *out, sqlite3_value *X){
|
||||
}
|
||||
case SQLITE_TEXT: {
|
||||
const unsigned char *zArg = sqlite3_value_text(X);
|
||||
int i, j;
|
||||
|
||||
if( zArg==0 ){
|
||||
fprintf(out, "NULL");
|
||||
}else{
|
||||
int inctl = 0;
|
||||
int i, j;
|
||||
fprintf(out, "'");
|
||||
if( !g.bDarkCtl ){
|
||||
for(i=j=0; zArg[i]; i++){
|
||||
if( zArg[i]=='\'' ){
|
||||
for(i=j=0; zArg[i]; i++){
|
||||
char c = zArg[i];
|
||||
int ctl = iscntrl(c);
|
||||
if( ctl>inctl ){
|
||||
inctl = ctl;
|
||||
fprintf(out, "%.*s'||X'%02x", i-j, &zArg[j], c);
|
||||
j = i+1;
|
||||
}else if( ctl ){
|
||||
fprintf(out, "%02x", c);
|
||||
j = i+1;
|
||||
}else{
|
||||
if( inctl ){
|
||||
inctl = 0;
|
||||
fprintf(out, "'\n||'");
|
||||
}
|
||||
if( c=='\'' ){
|
||||
fprintf(out, "%.*s'", i-j+1, &zArg[j]);
|
||||
j = i+1;
|
||||
}
|
||||
}
|
||||
fprintf(out, "%s'", &zArg[j]);
|
||||
}else{
|
||||
int inctl = 0;
|
||||
for(i=j=0; zArg[i]; i++){
|
||||
char c = zArg[i];
|
||||
int ctl = iscntrl(c);
|
||||
if( ctl>inctl ){
|
||||
inctl = ctl;
|
||||
fprintf(out, "%.*s'||X'%02x", i-j, &zArg[j], c);
|
||||
j = i+1;
|
||||
}else if( ctl ){
|
||||
fprintf(out, "%02x", c);
|
||||
j = i+1;
|
||||
}else{
|
||||
if( inctl ){
|
||||
inctl = 0;
|
||||
fprintf(out, "'\n||'");
|
||||
}
|
||||
if( c=='\'' ){
|
||||
fprintf(out, "%.*s'", i-j+1, &zArg[j]);
|
||||
j = i+1;
|
||||
}
|
||||
}
|
||||
}
|
||||
fprintf(out, "%s'", &zArg[j]);
|
||||
}
|
||||
fprintf(out, "%s'", &zArg[j]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -1902,7 +1891,6 @@ static void showHelp(void){
|
||||
" --table TAB Show only differences in table TAB\n"
|
||||
" --transaction Show SQL output inside a transaction\n"
|
||||
" --vtab Handle fts3, fts4, fts5 and rtree tables\n"
|
||||
" --visible-controls Render controls in text as blob literals\n"
|
||||
);
|
||||
}
|
||||
|
||||
@ -1976,9 +1964,6 @@ int main(int argc, char **argv){
|
||||
if( strcmp(z,"vtab")==0 ){
|
||||
g.bHandleVtab = 1;
|
||||
}else
|
||||
if( strcmp(z, "visible-controls")==0 ){
|
||||
g.bDarkCtl = 1;
|
||||
}else
|
||||
{
|
||||
cmdlineError("unknown option: %s", argv[i]);
|
||||
}
|
||||
|
Reference in New Issue
Block a user