Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modified to support using framework #353

Closed
wants to merge 5 commits into from
Closed

Modified to support using framework #353

wants to merge 5 commits into from

Commits on Mar 28, 2015

  1. Modified to support using framework

    To use FMDB in framework, one should eliminate all non-modular headers. The main culprit here is `#import <sqlite3.h>`. The thing is, FMDB uses SQLite types and constants in these headers, so they had to be removed.
    
    1. Removed `#import <sqlite3.h>` from all of the headers.
    
    2. Moved `sqlite3` and `sqlite3_stmt` declarations in `FMDatabase.h` into `FMDatabasePrivate.h`. FMDB source that needs these will now `#import "FMDatabasePrivate.h" and will have access to them.
    
    3. Removed `#if SQLITE_VERSION_NUMBER >= xxx` logic from the headers.
    
    4. `lastInsertRowId` now returns `long long int`, not `sqlite3_int64`.
    
    5. `sqliteHandle` now returns `void *` not `sqlite3 *`.
    
    6. The `savepoint` and `release savepoint` and `rollback` now always compile regardless of SQLite version (but you'll get SQLite errors if you try those commands with earlier SQLite versions).
    
    7. `makeFunctionNamed` has changed the block parameter type.
    
    8. The FMDatabaseAdditions routines for `applicationID`, much like the `savepoint` routines, will be compiled regardless of SQLite version.
    
    9. Some random usage of deferencing ivars from another class have been replaced with accessor methods.
    
    Note, with all of these changes, in order to conform to modular headers, this is not entirely backward compatible. They'll have to make changes if
    
     - If they referenced the `_db` variable themselves (which they shouldn't be doing anyway; this never should have been in the public interface to start with);
    
     - If they referenced `_statement` variable of `FMStatement` (which is even less likely); or
    
     - If they used `makeFunctionNamed`, the signature of the block has changed (now uses `void` instead of SQLite types).
    robertmryan committed Mar 28, 2015
    Copy the full SHA
    487566e View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2015

  1. Support Swift 1.2

    robertmryan committed Mar 30, 2015
    Copy the full SHA
    f0479b7 View commit details
    Browse the repository at this point in the history
  2. Eliminate comment

    robertmryan committed Mar 30, 2015
    Copy the full SHA
    9ec2151 View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2015

  1. podspec fix

    fix for use_frameworks! usage. Exclude FMDatabasePrivate.h from public headers
    Kirow committed Apr 1, 2015
    Copy the full SHA
    810a461 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #1 from Kirow/master

    podspec fix
    robertmryan committed Apr 1, 2015
    Copy the full SHA
    b458749 View commit details
    Browse the repository at this point in the history