1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-11-18 10:21:03 +03:00

Load enhancements from trunk into the returning branch.

FossilOrigin-Name: b84c7f60c2e1e7debf9f50622087f87d60c6870061d61e14e59cc1ba0775ee92
This commit is contained in:
drh
2021-02-03 00:05:57 +00:00
8 changed files with 264 additions and 153 deletions

View File

@@ -7975,6 +7975,9 @@ static int balance_nonroot(
apOld[i] = 0;
rc = sqlite3PagerWrite(pNew->pDbPage);
nNew++;
if( sqlite3PagerPageRefcount(pNew->pDbPage)!=1+(i==(iParentIdx-nxDiv)) ){
rc = SQLITE_CORRUPT_BKPT;
}
if( rc ) goto balance_cleanup;
}else{
assert( i>0 );

View File

@@ -1980,7 +1980,7 @@ static void logFunc(
case SQLITE_INTEGER:
case SQLITE_FLOAT:
x = sqlite3_value_double(argv[0]);
if( x<0.0 ) return;
if( x<=0.0 ) return;
break;
default:
return;
@@ -1989,14 +1989,15 @@ static void logFunc(
switch( sqlite3_value_numeric_type(argv[0]) ){
case SQLITE_INTEGER:
case SQLITE_FLOAT:
b = x;
b = log(x);
if( b<=0.0 ) return;
x = sqlite3_value_double(argv[1]);
if( x<0.0 ) return;
if( x<=0.0 ) return;
break;
default:
return;
}
ans = log(x)/log(b);
ans = log(x)/b;
}else{
ans = log(x);
switch( SQLITE_PTR_TO_INT(sqlite3_user_data(context)) ){