Fossil SCM
Do not attempt to access the global_config table if the ~/.fossil database has not been opened.
Commit
3cdb768fca1e7bfbacfab98b193329c43f6d89be
Parent
6d586137576db9e…
1 file changed
+7
-3
M
src/db.c
+7
-3
| --- src/db.c | ||
| +++ src/db.c | ||
| @@ -837,11 +837,11 @@ | ||
| 837 | 837 | char *db_get(const char *zName, char *zDefault){ |
| 838 | 838 | char *z = 0; |
| 839 | 839 | if( g.repositoryOpen ){ |
| 840 | 840 | z = db_text(0, "SELECT value FROM config WHERE name=%Q", zName); |
| 841 | 841 | } |
| 842 | - if( z==0 ){ | |
| 842 | + if( z==0 && g.configOpen ){ | |
| 843 | 843 | z = db_text(0, "SELECT value FROM global_config WHERE name=%Q", zName); |
| 844 | 844 | } |
| 845 | 845 | if( z==0 ){ |
| 846 | 846 | z = zDefault; |
| 847 | 847 | } |
| @@ -855,11 +855,15 @@ | ||
| 855 | 855 | db_multi_exec("DELETE FROM config WHERE name=%Q", zName); |
| 856 | 856 | } |
| 857 | 857 | db_end_transaction(0); |
| 858 | 858 | } |
| 859 | 859 | int db_is_global(const char *zName){ |
| 860 | - return db_exists("SELECT 1 FROM global_config WHERE name=%Q", zName); | |
| 860 | + if( g.configOpen ){ | |
| 861 | + return db_exists("SELECT 1 FROM global_config WHERE name=%Q", zName); | |
| 862 | + }else{ | |
| 863 | + return 0; | |
| 864 | + } | |
| 861 | 865 | } |
| 862 | 866 | int db_get_int(const char *zName, int dflt){ |
| 863 | 867 | int v; |
| 864 | 868 | int rc; |
| 865 | 869 | if( g.repositoryOpen ){ |
| @@ -871,11 +875,11 @@ | ||
| 871 | 875 | } |
| 872 | 876 | db_finalize(&q); |
| 873 | 877 | }else{ |
| 874 | 878 | rc = SQLITE_DONE; |
| 875 | 879 | } |
| 876 | - if( rc==SQLITE_DONE ){ | |
| 880 | + if( rc==SQLITE_DONE && g.configOpen ){ | |
| 877 | 881 | v = db_int(dflt, "SELECT value FROM global_config WHERE name=%Q", zName); |
| 878 | 882 | } |
| 879 | 883 | return v; |
| 880 | 884 | } |
| 881 | 885 | void db_set_int(const char *zName, int value, int globalFlag){ |
| 882 | 886 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -837,11 +837,11 @@ | |
| 837 | char *db_get(const char *zName, char *zDefault){ |
| 838 | char *z = 0; |
| 839 | if( g.repositoryOpen ){ |
| 840 | z = db_text(0, "SELECT value FROM config WHERE name=%Q", zName); |
| 841 | } |
| 842 | if( z==0 ){ |
| 843 | z = db_text(0, "SELECT value FROM global_config WHERE name=%Q", zName); |
| 844 | } |
| 845 | if( z==0 ){ |
| 846 | z = zDefault; |
| 847 | } |
| @@ -855,11 +855,15 @@ | |
| 855 | db_multi_exec("DELETE FROM config WHERE name=%Q", zName); |
| 856 | } |
| 857 | db_end_transaction(0); |
| 858 | } |
| 859 | int db_is_global(const char *zName){ |
| 860 | return db_exists("SELECT 1 FROM global_config WHERE name=%Q", zName); |
| 861 | } |
| 862 | int db_get_int(const char *zName, int dflt){ |
| 863 | int v; |
| 864 | int rc; |
| 865 | if( g.repositoryOpen ){ |
| @@ -871,11 +875,11 @@ | |
| 871 | } |
| 872 | db_finalize(&q); |
| 873 | }else{ |
| 874 | rc = SQLITE_DONE; |
| 875 | } |
| 876 | if( rc==SQLITE_DONE ){ |
| 877 | v = db_int(dflt, "SELECT value FROM global_config WHERE name=%Q", zName); |
| 878 | } |
| 879 | return v; |
| 880 | } |
| 881 | void db_set_int(const char *zName, int value, int globalFlag){ |
| 882 |
| --- src/db.c | |
| +++ src/db.c | |
| @@ -837,11 +837,11 @@ | |
| 837 | char *db_get(const char *zName, char *zDefault){ |
| 838 | char *z = 0; |
| 839 | if( g.repositoryOpen ){ |
| 840 | z = db_text(0, "SELECT value FROM config WHERE name=%Q", zName); |
| 841 | } |
| 842 | if( z==0 && g.configOpen ){ |
| 843 | z = db_text(0, "SELECT value FROM global_config WHERE name=%Q", zName); |
| 844 | } |
| 845 | if( z==0 ){ |
| 846 | z = zDefault; |
| 847 | } |
| @@ -855,11 +855,15 @@ | |
| 855 | db_multi_exec("DELETE FROM config WHERE name=%Q", zName); |
| 856 | } |
| 857 | db_end_transaction(0); |
| 858 | } |
| 859 | int db_is_global(const char *zName){ |
| 860 | if( g.configOpen ){ |
| 861 | return db_exists("SELECT 1 FROM global_config WHERE name=%Q", zName); |
| 862 | }else{ |
| 863 | return 0; |
| 864 | } |
| 865 | } |
| 866 | int db_get_int(const char *zName, int dflt){ |
| 867 | int v; |
| 868 | int rc; |
| 869 | if( g.repositoryOpen ){ |
| @@ -871,11 +875,11 @@ | |
| 875 | } |
| 876 | db_finalize(&q); |
| 877 | }else{ |
| 878 | rc = SQLITE_DONE; |
| 879 | } |
| 880 | if( rc==SQLITE_DONE && g.configOpen ){ |
| 881 | v = db_int(dflt, "SELECT value FROM global_config WHERE name=%Q", zName); |
| 882 | } |
| 883 | return v; |
| 884 | } |
| 885 | void db_set_int(const char *zName, int value, int globalFlag){ |
| 886 |