• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Learning SQLite by watching Core Data?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Learning SQLite by watching Core Data?


  • Subject: Re: Learning SQLite by watching Core Data?
  • From: David Carlisle <email@hidden>
  • Date: Mon, 23 Jun 2008 16:13:34 -0600

I'm just studying the issues so far. The sqlite version doesn't have to work just like the Core Data version, except on the surface. I'm only beginning to get a grasp of how deep the implementation differences would need to be.

As far as the filename extension, if I don't use the .sqlite extension, then sqlite3 creates an empty textfile with the same name as the database:

Last login: Mon Jun 23 14:19:24 on ttys000
10:~ idev$ sqlite3 SQLiteStudy1
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> .dump
BEGIN TRANSACTION;
COMMIT;
sqlite> .exit
10:~ idev$ sqlite3 SQLiteStudy1.sqlite
SQLite version 3.4.0
Enter ".help" for instructions
sqlite> .dump
BEGIN TRANSACTION;
CREATE TABLE ...  the data structures are dumped as expected here

On Jun 23, 2008, at 3:44 PM, Jens Alfke wrote:


On 23 Jun '08, at 2:35 PM, David Carlisle wrote:

I am studying an application design by implementing it with Core Data, then studying how I would move it to a platform where only sqlite is available.

Whew. If you want to implement an app the same way on a no-CoreData platform, you're talking about basically re-implementing CoreData. That would be a terrifyingly large and difficult task. Keep in mind that CoreData has been in development in one form or another for about 15 years (it does back to NeXT's Enterprise Object Framework.) A lot of the magic inside NSManagedObject relies on very sophisticated manipulation of the Objective-C runtime.


If you want to write an app that's portable between CoreData and non- CoreData platforms, I would suggest using one of the existing wrappers (QuickLite or FMDB) instead of CoreData. They're not as powerful, but you'll be able to use them on both platforms without having to change your code.

I'm happy with my approach. I modified ISavant's suggested Unix statement, realizing I needed a .sqlite suffix after my document name to make it work, so that answered that question.

SQLite doesn't care what the filename extension is, so that couldn't have been the issue.


Ilan noted that Core Data does "undocumented voodoo" with sqlite, which is good to be aware of.

And that statement was immediately denied by a CoreData engineer. I have never heard of CoreData using any undocumented sqlite features.


—Jens

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Learning SQLite by watching Core Data?
      • From: Andy Lee <email@hidden>
    • Re: Learning SQLite by watching Core Data?
      • From: Jens Alfke <email@hidden>
References: 
 >re: Learning SQLite by watching Core Data? (From: Ben Trumbull <email@hidden>)
 >Re: Learning SQLite by watching Core Data? (From: David Carlisle <email@hidden>)
 >Re: Learning SQLite by watching Core Data? (From: Jens Alfke <email@hidden>)

  • Prev by Date: Re: PDFKit guidance
  • Next by Date: Re: Learning SQLite by watching Core Data?
  • Previous by thread: Re: Learning SQLite by watching Core Data?
  • Next by thread: Re: Learning SQLite by watching Core Data?
  • Index(es):
    • Date
    • Thread