On Mon, Dec 14, 2009 at 10:41:04AM +0100, Jean-Denis Muys scratched on the wall:
> 
> On 12/13/09 16:34 , "Jay A. Kreibich" <j...@kreibi.ch> wrote:
> 
> > On Sun, Dec 13, 2009 at 01:47:43PM +0300, Alexey Pechnikov scratched on the
> > wall:
> 
> >> On Sunday 13 December 2009 02:09:48 Roger Binns wrote:
> 
> >> The libsqlite is locale-independent but sqlite3 shell linked with
> >> readline and it's locale-dependent.
> > 
> >   That's a user choice.  It does not link with readline by default.
> > 
> 
> The rest of this topic is way over my head, but I don't get this argument.
> Basically it seems to me it goes like that:
> 
> Alexei: SQLite has a bug when use with optional feature X
> Jay: that's a user choice. Feature X is not on by default.
> 
> So Jay, what you are saying is that SQLite doesn't have to provide bug-free
> features when those features are optional?

  First of all, I personally don't consider this a "bug."  It isn't
  like the shell crashes, or corrupts data.  The issue is that, when
  utilizing an external library, some presets are not configured the
  way the original poster desires.
  
  From my viewpoint, if this is really truly "incorrect" or not is an
  issue that is still open for debate.  This gets into the question of
  the intent and purpose of the application at hand.  As others have
  pointed out, the sqlite3 command line shell is designed to be fairly
  light-weight and minimal.  I'm not sure I'd go as far as saying it is
  really just for debugging, but it is definitely not an sqlplus, or some
  other massive "database administrator" shell environment that is
  commonly seen with large RDBMS servers.
  
  From that stance, the readline support is optional, not on by default,
  and if you really don't like the way it works your best bet is to just
  turn it off.  Complaining about how readline support is completely broken
  is most likely to simply get the whole feature marked "unsupported"--
  or simply ripped out all together.  No more bugs; problem solved.
  
  But their high bar for supported features puts the SQLite developers
  in a very difficult situation for anything a bit off the beaten path.
  If a customer (and they do have paying customers, and they do get to
  call some of the shots) wants an odd feature added to the shell or
  one of the utility interfaces, there is the question of, "is this
  officially supported?"   And very often the answer is, "no."

  And I think that is reasonable.  The SQLite team is small, yet they
  provide a great product that is constantly being updated.  They take
  testing of the core database engine very very seriously, and go to
  great lengths to make sure the core library does what it is supposed
  to do.  I'd rather they spend time working on the core than adding
  cute options to the shell.  If I want to mess around with the shell,
  I can do that.  I'm not as adventurous to jump into the core library.
  There are also other GUI tools and other products that allow me to
  interact with the database library.  If I really don't like the
  shell, I can use one of those or write my own.

  Also, consider this paragraph from the compile-options for SQLite:

     The SQLITE_OMIT_* compile-time options are usually untested and
     are almost certainly untested in combination. Any or all of these
     options may be removed from the code in future releases and
     without warning. For any particular release, some of these options
     may cause compile-time or run-time failures, particularly when
     used in combination with other options.

  The team has been nice enough to try to provide these features.
  They're very useful to some customers.  But the team also knows they
  can't test and support all these features as well as they should to
  officially call them supported and correct.  So they just admit--
  these may work, they may not.  If that makes you uncomfortable, don't
  use them.  If you need them, test them and possibly fix them yourself--
  which is the exact same position you would be in if you had to develop
  the feature yourself.

  So, yes, I'm saying, and consider it acceptable, that the SQLite team
  does not have to provide bug-free features when those features are
  optional-- at least if they state the fact that the features are
  optional and unsupported.  That is, in effect, what "unsupported"
  means.
  
  Or "experimental."  Virtual tables have been around some four years
  and are still "experimental," despite the fact FTS3 (a rather
  important feature) depends on them.  I suspect the biggest reason
  virtual tables are still marked experimental is that, being an
  external interface, they're very very difficult to test.



  The only place I think there is room for an argument is what,
  exactly, is the status of the shell.c file and the sqlite3 tool.  It
  is clearly considered an important part of the SQLite distribution,
  at least by customers, but it is not part of the core library and is
  not as extensively tested.  It might be fair to say the whole shell
  is just a test example, but I can't find anything that actually says
  much.  If the whole shell is considered an unsupported utility, then
  that is also clearly the case for any optional libraries it uses.

   -j

-- 
Jay A. Kreibich < J A Y  @  K R E I B I.C H >

"Our opponent is an alien starship packed with atomic bombs.  We have
 a protractor."   "I'll go home and see if I can scrounge up a ruler
 and a piece of string."  --from Anathem by Neal Stephenson
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to