Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Provide better error messages to the client when the server database schema is out-of-date. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
0ca36443675b13ce66dd78d0c5af776b |
User & Date: | drh 2011-03-08 17:00:27.813 |
Context
2011-03-08
| ||
17:13 | Do not verify any of the checksums after a checkout if the repo-cksum setting is turned off. ... (check-in: 46ef2893 user: drh tags: trunk) | |
17:00 | Provide better error messages to the client when the server database schema is out-of-date. ... (check-in: 0ca36443 user: drh tags: trunk) | |
12:27 | The client-side on a sync silently ignores unknown pragmas. ... (check-in: eb82de66 user: drh tags: trunk) | |
Changes
Changes to src/db.c.
︙ | ︙ | |||
901 902 903 904 905 906 907 908 909 910 911 912 913 | const char *db_name(const char *zDb){ assert( strcmp(zDb,"localdb")==0 || strcmp(zDb,"configdb")==0 || strcmp(zDb,"repository")==0 ); if( strcmp(zDb, g.zMainDbType)==0 ) zDb = "main"; return zDb; } /* ** Verify that the repository schema is correct. If it is not correct, ** issue a fatal error and die. */ void db_verify_schema(void){ | > > > > > > > > > | < < > | 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 | const char *db_name(const char *zDb){ assert( strcmp(zDb,"localdb")==0 || strcmp(zDb,"configdb")==0 || strcmp(zDb,"repository")==0 ); if( strcmp(zDb, g.zMainDbType)==0 ) zDb = "main"; return zDb; } /* ** Return TRUE if the schema is out-of-date */ int db_schema_is_outofdate(void){ return db_exists("SELECT 1 FROM config" " WHERE name='aux-schema'" " AND value<>'%s'", AUX_SCHEMA); } /* ** Verify that the repository schema is correct. If it is not correct, ** issue a fatal error and die. */ void db_verify_schema(void){ if( db_schema_is_outofdate() ){ fossil_warning("incorrect repository schema version"); fossil_warning("you have version \"%s\" but you need version \"%s\"", db_get("aux-schema",0), AUX_SCHEMA); fossil_fatal("run \"fossil rebuild\" to fix this problem"); } } /* ** COMMAND: test-move-repository ** ** Usage: %fossil test-move-repository PATHNAME ** ** Change the location of the repository database on a local check-out. |
︙ | ︙ |
Changes to src/main.c.
︙ | ︙ | |||
960 961 962 963 964 965 966 | if( g.zExtra ){ /* CGI parameters get this treatment elsewhere, but places like getfile ** will use g.zExtra directly. */ dehttpize(g.zExtra); cgi_set_parameter_nocopy("name", g.zExtra); } | | > > > > | 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 | if( g.zExtra ){ /* CGI parameters get this treatment elsewhere, but places like getfile ** will use g.zExtra directly. */ dehttpize(g.zExtra); cgi_set_parameter_nocopy("name", g.zExtra); } /* Locate the method specified by the path and execute the function ** that implements that method. */ if( name_search(g.zPath, aWebpage, count(aWebpage), &idx) && name_search("not_found", aWebpage, count(aWebpage), &idx) ){ cgi_set_status(404,"Not Found"); @ <h1>Not Found</h1> @ <p>Page not found: %h(g.zPath)</p> }else if( aWebpage[idx].xFunc!=page_xfer && db_schema_is_outofdate() ){ @ <h1>Server Configuration Error</h1> @ <p>The database schema on the server is out-of-date. Please ask @ the administrator to run <b>fossil rebuild</b>.</p> }else{ aWebpage[idx].xFunc(); } /* Return the result. */ cgi_reply(); |
︙ | ︙ |
Changes to src/xfer.c.
︙ | ︙ | |||
808 809 810 811 812 813 814 815 816 817 818 819 820 821 | fossil_redirect_home(); } g.zLogin = "anonymous"; login_set_anon_nobody_capabilities(); memset(&xfer, 0, sizeof(xfer)); blobarray_zero(xfer.aToken, count(xfer.aToken)); cgi_set_content_type(g.zContentType); blob_zero(&xfer.err); xfer.pIn = &g.cgiIn; xfer.pOut = cgi_output_blob(); xfer.mxSend = db_get_int("max-download", 5000000); g.xferPanic = 1; db_begin_transaction(); | > > > > | 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 | fossil_redirect_home(); } g.zLogin = "anonymous"; login_set_anon_nobody_capabilities(); memset(&xfer, 0, sizeof(xfer)); blobarray_zero(xfer.aToken, count(xfer.aToken)); cgi_set_content_type(g.zContentType); if( db_schema_is_outofdate() ){ @ error database\sschema\sis\out-of-date\son\sthe\sserver. return; } blob_zero(&xfer.err); xfer.pIn = &g.cgiIn; xfer.pOut = cgi_output_blob(); xfer.mxSend = db_get_int("max-download", 5000000); g.xferPanic = 1; db_begin_transaction(); |
︙ | ︙ |