-C Merge\sall\sfixes\sand\senhancements\sfrom\strunk.
-D 2020-01-04T19:19:54.288
+C Enhance\sPRAGMA\sfunction_list\sto\sshow\sinternal\sfunctions\sif\sthe\sdirect\suse\nof\sinternal\sfunctions\sis\senabled\svia\sthe\sSQLITE_TESTCTRL_INTERNAL_FUNCTIONS\ntest\scontrol.
+D 2020-01-04T19:58:28.209
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
F src/pcache.c 385ff064bca69789d199a98e2169445dc16e4291fa807babd61d4890c3b34177
F src/pcache.h 4f87acd914cef5016fae3030343540d75f5b85a1877eed1a2a19b9f284248586
F src/pcache1.c 6596e10baf3d8f84cc1585d226cf1ab26564a5f5caf85a15757a281ff977d51a
-F src/pragma.c 4f5df0df55a3fd5adadc28744bee3de1d10a313b1ae0f8470ca4b2dc93cc5cbf
+F src/pragma.c 6e13c9a885c0f2effaa6a1155b707d3d3e39bc572c3b003ce4caa9c2e9010ca3
F src/pragma.h 5bbfafd74cf085762b64e4e2b00242917951b30468e380bddd8be6c21789aec2
F src/prepare.c 6049beb71385f017af6fc320d2c75a4e50b75e280c54232442b785fbb83df057
F src/printf.c 9be6945837c839ba57837b4bc3af349eba630920fa5532aa518816defe42a7d4
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 26ef709a47294c512a70aecd37d29caecec2af261977d9fb2c4d78d09b12f77a 5b246b47aeadc25dbec0956e2d6edcd49fbe874a01734fdf15b770507648222d
-R 23b6db5bd743b43a08b2a78aa5bfe764
+P b878c30f03e895bbc5c4c99c0f727d49093bb78bdc275593cf4852148579ae69
+R 2a316337c77b32f3140387723d41365c
U drh
-Z df93cd8dd048f13be0eda50d95f72385
+Z 5d85e17177ca37ac3e27744033bcda94
-b878c30f03e895bbc5c4c99c0f727d49093bb78bdc275593cf4852148579ae69
\ No newline at end of file
+7a8d7ca726666f4384925f959df0d58f7622229e06f1b5e643a3caccd539bb6e
\ No newline at end of file
** Create zero or more entries in the output for the SQL functions
** defined by FuncDef p.
*/
-static void pragmaFunclistLine(Vdbe *v, FuncDef *p, int isBuiltin){
+static void pragmaFunclistLine(
+ Vdbe *v, /* The prepared statement being created */
+ FuncDef *p, /* A particular function definition */
+ int isBuiltin, /* True if this is a built-in function */
+ int showInternFuncs /* True if showing internal functions */
+){
for(; p; p=p->pNext){
const char *zType;
const char *zEnc;
SQLITE_DETERMINISTIC |
SQLITE_DIRECTONLY |
SQLITE_SUBTYPE |
- SQLITE_INNOCUOUS
+ SQLITE_INNOCUOUS |
+ SQLITE_FUNC_INTERNAL
;
-
+
if( p->xSFunc==0 ) continue;
+ if( (p->funcFlags & SQLITE_FUNC_INTERNAL)!=0
+ && showInternFuncs==0
+ ){
+ continue;
+ }
if( p->xValue!=0 ){
zType = "w";
}else if( p->xFinalize!=0 ){
int i;
HashElem *j;
FuncDef *p;
+ int showInternFunc = (db->mDbFlags & DBFLAG_InternalFunc)!=0;
pParse->nMem = 6;
for(i=0; i<SQLITE_FUNC_HASH_SZ; i++){
for(p=sqlite3BuiltinFunctions.a[i]; p; p=p->u.pHash ){
- if( p->funcFlags & SQLITE_FUNC_INTERNAL ) continue;
- pragmaFunclistLine(v, p, 1);
+ pragmaFunclistLine(v, p, 1, showInternFunc);
}
}
for(j=sqliteHashFirst(&db->aFunc); j; j=sqliteHashNext(j)){
p = (FuncDef*)sqliteHashData(j);
- pragmaFunclistLine(v, p, 0);
+ pragmaFunclistLine(v, p, 0, showInternFunc);
}
}
break;