On Thu, Jan 24, 2013 at 2:01 PM, Jose F. Gimenez <[email protected]>wrote:
> Richard, > > thanks for replying. > > > We have no way of testing SQLite on Win9x and so we do not intend to >> support Win9x moving forward. Some older versions of SQLite are known to >> work on Win9x. If you are still supporting Win9x applications, I suggest >> you use those older versions of SQLite. >> > > Versions up to 3.7.11 are working fine on windows 98. Was version 3.7.12, > where an optimization in read and write operations (overlapped mode) was > introduced which broke compatibility with older windows versions. > > What I attached in my first post, was a minor change to avoid using that > optimization for older windows, while keeping it for newer ones, so sqlite > works fine in all windows versions. I've used isNT() function to check if > that optimization is done or not. Please, review it; it doesn't break > anything. I'm using it on Windows 98, XP, Vista and 7, and is working fine > everywhere. > SQLite supports so many different platforms and so many different compile-time options that it makes my head spin trying to test them all. Each new platform or compile-time option is only a modest increase in complexity itself. And every time we start supporting a new platform or option, it makes SQLite useful to a slightly larger audience. But over time, this support for a myriad of platforms and options adds up to some serious complexity. And complexity is the enemy of reliability. And complexity is the enemy of innovation, as all my time is eaten up supporting obscure platforms and options such that I don't have time to work on new features for a broad user base. At some point you just have to draw and line and say "No!, We are not going to support $obscure_platform_XYZ." Windows 9x is across that line. Yes, I could just blindly apply the supplied patch and be done with it. But are you sure that won't break any legacy code? You've done extensive testing on WinXP, Vista, Win8, WinCE, and WinRT to make sure? I'm guessing you have not. Which leaves it to me to do all that testing, and I don't have the time right now. Sorry. Furthermore, those few extra lines of code added by this patch are lines of code that we will need to support from now on. Remember, initial code development is only 10% of the effort - the other 90% is long term support. You can argue that a dozen extra lines out of 120,000 is not a significant new support burden. And you'd be right. But a few dozen lines here, and a few dozen lines there, and over the years this adds up. Once again, at some point you just have to draw and line and say "No!", the requested feature is too obscure and has too small of a potential user base to be worthwhile. Note that the latest SQLite does still support win9x in this sense: you can plug in your own VFS module that supports win9x at runtime. If you want, you can copy the VFS code out of SQLite version 3.7.11 and add that back into SQLite as a run-time VFS, if you like. Your application can do this. So SQLite does still work on win9x - it is simply that the support is no longer built-in. The same thing happened for OS/2 a few releases back. We removed the OS/2 VFS from the code so that OS/2 is no longer built in. But any application can still install their own OS/2 VFS at run-time, if they so desire. So, to summarize, there will be no built-in win9x support added today. Sorry to disappoint. -- D. Richard Hipp [email protected] _______________________________________________ sqlite-users mailing list [email protected] http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

