Existing users, log in.  New users, create a free account.  Lost password?

Mac OS X  |  Business / Productivity  |  Database  |  BaseTen

BaseTen

BaseTen - 1.7

Core data-like cocoa framework for postgresql databases.

All Time: Not rated (0.0)
This Version: Not rated (0.0)
Current Version: 1.7
Release Date: 2009-06-12
License: Freeware
Downloads (this version): 618
Downloads (all versions): 4,735

Information Related to Version:

Broken Link? Newer Version? Tell us!

Product Description:

BaseTen is a new, open source Cocoa database framework for working with PostgreSQL databases, designed with familiar, Core Data -like semantics and APIs. With this 1.0 Release Candidate 1 version, a final 1.0 release is very near and it is safe to start development with the current BaseTen API. The BaseTen feature highlights include:

  • BaseTen Assistant imports Core Data / Xcode data models
  • Discovers the database schema automatically at runtime, including 1-1, 1-many and many-many relationships
  • Database changes are propagated to clients automatically, without polling
  • In-memory database objects are uniqued, and objects fetched via relationships are faults by default
  • Support for RDBMS features like database-driven data validation, multi-column primary keys and updateable views
  • Autocommit and manual save/rollback modes, both with NSUndoManager integration
  • A BaseTen-aware NSArrayController subclass automates locking and change propagation
  • Fetches are specified with NSPredicates (the relevant portions of which are evaluated on the database)

What's new in this version:

BaseTen's date and time type handling has been significantly overhauled.
  • Timestamp and datetime types are now always returned as NSDates.
  • NSDates are stored into the database in UTC. When fetching, database values are assigned the UTC time zone, or, if they are qualified with some other time zone on the database, converted to UTC.
  • NSCalendar is now used instead of NSCalendarDate when converting NSDates to date strings.
  • PostgreSQL "time" types are now handled. On the Cocoa side, they are converted to NSDates with the appropriate time offset from the reference date.
New and changed data type support
  • The XML data type can now be fetched as NSXMLDocument. This happens if the database schema is enforcing document-only values with a constraint such as CHECK(column IS DOCUMENT).
  • "bit" and "varbit" fields are now fully supported. They are fetched as NSStrings because they can't easily be represented as octets.
  • In additiong to fetching "point" fields as NSPoints, NSPoint values can now be saved into the database.
Changes to the way BaseTen supports database relationships
  • The default key names for to-many relationships have changed to the format "Set". The previous form, "", is now deprecated. Add a symbolic breakpoint to BXDeprecationWarning to find uses of these deprecated keys.
  • BaseTen can now extract direction-specific relationship names from a foreign key constraint's name. The combined length of these two names can be a maximum of 61 bytes of UTF-8. This facility is used by the updated BaseTen Assistant to import the direction-specific names from Xcode Data Modeler schemas.
  • When creating new objects with a field values dictionary, to-one related objects (or their object IDs) can now be specified as an alternative to specifying the values of the foreign key fields. The relationship name is used as the key.
Other changes
  • All text transferred between the database and BaseTen will now be normalized to Unicode normal form D, ie. the format produced by -[NSString decomposedStringWithCanonicalMapping].
  • Most locking queries sent by BaseTen can now be disabled, and documentation has been added to describe the locking functionality.
  • More of BaseTen's internals have now been documented in the reference manual.
  • When inserting, updating or deleting rows, BaseTen now notices (and posts notifications of) changes that occur as a result of database triggers or rules firing. The only requirement is that said changes are to entities other than the one being changed by BaseTen; changes to the same entity will still be ignored.
  • BXDatabaseObjectID is now documented as thread-safe since it only uses NSURL.
  • BXSetProxies are now declared as deriving from NSMutableSet, as the NSCountedSet's countability property isn't currently used by BaseTen.
  • BaseTen will no longer try to unescape non-"bytea" columns.
  • More SSL status codes are now available for determining when SSL is unavailable, automatic SSL certificate verification fails, user clicks Cancel in the certificate trust panel or some other SSL error occurs.
  • Worked around potential issues with garbage collection where BaseTen used pointers to objects' internal structures.
  • KVO willChange notifications sent from -setPrimitiveValue:forKey: are now always called before the update. In certain cases with earlier BaseTen versions, observers might receive the notification after the change had been made.
  • Some connection error messages are now more accurate.

Operating System Requirements:

This product is designed to run on the following operating systems:

  • Mac OS X 10.5 Intel
  • Mac OS X 10.5 PPC
  • Mac OS X 10.4 Intel
  • Mac OS X 10.4 PPC

Additional Requirements:

  • PostgreSQL 8.2 or later

Screenshots:

Download Links:

Your Installed Versions:


 

Feedback Summary:

This Version:
Overall Rating: Not rated (0.0) Features: Not rated (0.0) Support: Not rated (0.0)
Ease of Use: Not rated (0.0) Quality / Stability: Not rated (0.0) Price: Not rated (0.0)
Add Your Feedback

Key to Types of Feedback:

ReviewsReviews   TroubleshootingTroubleshooting   Usage TipsUsage Tips   Developer NotesDeveloper Notes   CommentaryCommentary   Featured ReviewsFeatured Reviews

BaseTen CommentaryNot exactly freeware... - Version: 1.6, 3/4/2009 01:16PM PST

justwhatever
It's dual-licensed, either under the GPL so you have to open-source your application or you must license it per developer. And the pricing is not completely clear, as it is either $199 or $799 (more likely $799, as the licensing page states: "After BaseTen 1.0 is released and we reach a mature level of documentation, the BaseTen price will rise to $799 per developer.").
Post a commentAlert Admin