5 ms·
SQLite 3.7.16 Released
- ericcholis 14y agoComing from the FoxPro days, I'm a huge fan of SQLite.
- daliusd 14y agoNo idea what's FoxPro, but I'm huge fan of SQLite as well. The only complain (not sure to whom) I have is that WebSQL have not got proper attention because SQLite is the only solution.
- pmelendez 14y agohttp://en.wikipedia.org/wiki/FoxPro http://en.wikipedia.org/wiki/FoxPro http://en.wikipedia.org/wiki/Visual_FoxPro http://en.wikipedia.org/wiki/Visual_FoxPro It had a lot of fans back in the day.
- pmelendez 14y agoI am curious... why do you find sqlite similar to FoxPro? I thought the inner engines were quite different
- ericcholis 14y agoActually, rather similar. Visual FoxPro used SQL syntax for large majority of it's database and free table operations. Some commands were slightly different, and allowed you to use VFP specific commands in them. But, transitioning a VFP app to use a SQL backend was relatively simple. Actually, my shop still runs a few VFP tasks that connect to various MySQL backends as well as JSON API services. Side note, there is a very useful Python library for working with VFP xBase (.dbf) tables: https://pypi.python.org/pypi/dbf https://pypi.python.org/pypi/dbf
- meepmorp 14y agoI thought you meant real FoxPro - like 2.x for DOS/Unix. Now, that was a desktop database development system. Lightning fast, portable between SCO and DOS, easy to work with. Made clipper and dBase look like pokey hunks of poop in comparison. That and netware 3.12, plus some low powered machines with token ring cards for clients - golden days, I tell you.
- JohnBooty 14y agoI didn't imagine I'd ever see FoxPro mentioned on Hacker News. That's like seeing... a Gnome vs. KDE debate on a FoxPro forum.
- malkia 14y agoI had an exam in Ashton Tate's dBase in the last year at my high school (this was a special mathematical high school in Bulgaria, every big city had one such school or more)
- Sami_Lehtinen 14y agoWhat about Clipper and dB3?
- bsg75 14y agoStarted my career on dBase II, then III, then Paradox, then Foxpro (and VFP). Eventually on to DB2/2 (OS/2), Sybase, MSSQL, now all PostgreSQL. The FoxPro / xBase market was very nice to me for about 6 years. I am happily surprised to see this still exists: http://www.dbase.com/ http://www.dbase.com/
- protomyth 14y agoAt my first job, I had a foxbase database (government built), Turbo C 2.01 (make sure to patch the FP), and a Postscript printer. We needed some reports and graphs to satisfy other agencies, what fun.
- genwin 14y agoThanks for the blast from the past! FoxPro was leading edge in its time. I'm also a fan of SQLite; it works great for my website. Who needs bigger iron (on a single machine anyway) when SQLite can insert a million+ rows a second?
- snaky 14y agoFoxPro 2.0/DOS was really disruptive product back then. And it was addictive. My academic advisor used to using FoxPro as his primary text editor. But real guys preferred Clipper due the advanced abilities such as eval.
- timjahn 14y agoI used to use it as a local database for desktop (and CD-ROM based) Windows apps I created with Flash, wrapped in a SWFStudio wrapper. :)
- _wmd 14y agoBe sure to check out http://sqlite.org/src4/doc/trunk/www/design.wiki http://sqlite.org/src4/doc/trunk/www/design.wiki ... SQLite4 splits the SQL engine from the storage engine and provides public APIs for both, including the ability to run the SQL engine on top of any key/value store that provides an ordered-map interface. In the new design a row's primary key directly contributes to its physical key, meaning lookups and iterations on the primary key involve only one scan (rather than an index scan followed by random lookups in SQLite 3.x/most DBMS). Basically the old "OID" feature on steroids, except now you don't have to design for it at all. This also means data is inherently clustered by primary key, providing further performance benefits. The new storage engine in 4.x is exciting by itself, it's a log structured merge tree, similar to LevelDB but using the old SQLite 3.x B+tree instead of SSTables for the disk segments. Additionally it is possible to incrementally compact older generations inline as part of each write, rather than mandatorily having some unpredictable background compactor thread like LevelDB. Similar to 3.x and unlike LevelDB, the storage engine also supports interprocess locking, meaning it's trivial to write software with concurrent readers across multiple processes and a single writer. The possibility of mixing a key/value store and SQL store, including having single transactions affecting both stores, is really exciting. The SQL engine is still a work in progress, but it should be awesome when it's ready.
- xradionut 14y ago"In the new design a row's primary key directly contributes to its physical key, meaning lookups and iterations on the primary key involve only one scan (rather than an index scan followed by random lookups in SQLite 3.x/most DBMS)." Isn't this basically the same concept as a clustered index in MS SQL Server?
- luser001 14y agoHa ha. The foreign_key_check command is going to be a lifesaver for me. I run with foreign key support disabled, because the referencing ("child") rows might get inserted before the referencing ("parent") rows (I don't control the order of inserts). Now I can just run a periodic scrub job with this command to clean out rows which didn't successfully transition from "violating foreign keys" to "satisfying foreign keys", instead of writing my own code. Neat. SQLite is an awesome database library.