Skip to content

Commit

Permalink
Fixing some conflicts.
Browse files Browse the repository at this point in the history
  • Loading branch information
ccgus committed Mar 22, 2012
2 parents 355a591 + 87748d1 commit 5160fc0
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 1 deletion.
2 changes: 1 addition & 1 deletion README.markdown
Expand Up @@ -109,7 +109,7 @@ Alternatively, you may use named parameters syntax:
The parameters *must* start with a colon. SQLite itself supports other characters, but internally the Dictionary keys are prefixed with a colon, do **not** include the colon in your dictionary keys.

NSDictionary *argsDict = [NSDictionary dictionaryWithObjectsAndKeys:@"My Name", @"name", nil];
[db executeUpdate:@"INSERT INTO myTable (name) VALUES (:name)" withArgumentsInDictionary:argsDict];
[db executeUpdate:@"INSERT INTO myTable (name) VALUES (:name)" withParameterDictionary:argsDict];

Thus, you SHOULD NOT do this (or anything like this):

Expand Down
3 changes: 3 additions & 0 deletions src/FMDatabase.m
Expand Up @@ -350,6 +350,9 @@ - (void)bindObject:(id)obj toColumn:(int)idx inStatement:(sqlite3_stmt*)pStmt {
else if (strcmp([obj objCType], @encode(long long)) == 0) {
sqlite3_bind_int64(pStmt, idx, [obj longLongValue]);
}
else if (strcmp([obj objCType], @encode(unsigned long long)) == 0) {
sqlite3_bind_int64(pStmt, idx, [obj unsignedLongLongValue]);
}
else if (strcmp([obj objCType], @encode(float)) == 0) {
sqlite3_bind_double(pStmt, idx, [obj floatValue]);
}
Expand Down
3 changes: 3 additions & 0 deletions src/FMResultSet.h
Expand Up @@ -52,6 +52,9 @@
- (long long int)longLongIntForColumn:(NSString*)columnName;
- (long long int)longLongIntForColumnIndex:(int)columnIdx;

- (unsigned long long int)unsignedLongLongIntForColumn:(NSString*)columnName;
- (unsigned long long int)unsignedLongLongIntForColumnIndex:(int)columnIdx;

- (BOOL)boolForColumn:(NSString*)columnName;
- (BOOL)boolForColumnIndex:(int)columnIdx;

Expand Down
8 changes: 8 additions & 0 deletions src/FMResultSet.m
Expand Up @@ -228,6 +228,14 @@ - (long long int)longLongIntForColumnIndex:(int)columnIdx {
return sqlite3_column_int64([_statement statement], columnIdx);
}

- (unsigned long long int)unsignedLongLongIntForColumn:(NSString*)columnName {
return [self unsignedLongLongIntForColumnIndex:[self columnIndexForName:columnName]];
}

- (unsigned long long int)unsignedLongLongIntForColumnIndex:(int)columnIdx {
return (unsigned long long int)[self longLongIntForColumnIndex:columnIdx];
}

- (BOOL)boolForColumn:(NSString*)columnName {
return [self boolForColumnIndex:[self columnIndexForName:columnName]];
}
Expand Down
13 changes: 13 additions & 0 deletions src/fmdb.m
Expand Up @@ -119,6 +119,19 @@ int main (int argc, const char * argv[]) {

FMDBQuickCheck(![db hasOpenResultSets]);

[db executeUpdate:@"create table ull (a integer)"];

[db executeUpdate:@"insert into ull (a) values (?)" , [NSNumber numberWithUnsignedLongLong:ULLONG_MAX]];

rs = [db executeQuery:@"select a from ull"];
while ([rs next]) {
unsigned long long a = [rs unsignedLongLongIntForColumnIndex:0];
unsigned long long b = [rs unsignedLongLongIntForColumn:@"a"];

FMDBQuickCheck(a == ULLONG_MAX);
FMDBQuickCheck(b == ULLONG_MAX);
}

// ----------------------------------------------------------------------------------------
// blob support.
[db executeUpdate:@"create table blobTable (a text, b blob)"];
Expand Down

0 comments on commit 5160fc0

Please sign in to comment.