On May 23, 2019, at 4:28 PM, R Smith <ryansmit...@gmail.com> wrote: > > it is very easy to add things to the base distro, but extremely hard to > impossible to ever take it away again, which means one should only ever "add" > with great caution.
Easy fix: -DSQLITE_OMIT_EXTENDED_MATH_LIBRARY Include it by default, but let those on resource-constrained platforms yank it back out. I think the biggest obstacle here is this: *which* math library do we use? If SQLite’s math is based on the platform math library (e.g. libm.so) then it may substantially change behavior across platforms, which goes against one of the SQLite guarantees: your DB file behaves the same way everywhere. If it’s a custom math library, that’ll take a lot of work to get right, and once done, then it’s “bloat” relative to the platform math library. That can in turn be solved with more ifdefs (-DSQLITE_PLATFORM_MATH) but the way off-by-default options are usually handled in SQLite is that they aren’t checked as part of the test suites, so there are option combinations that don’t build a working library, much less give one that’s had all of the options cross-tested against each other. I understand why that’s the case: the alternative is a combinatoric explosion where the number of test configurations is 2^N * M where N is the number of Boolean options and M is the number of the *non*-Boolean option combinations that need to be tested. 16 Boolean options is 64k runs of the test suite to cross-check every option against all possible combinations of the other 15 options! _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users