Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| SHA1 Hash: | f0abf3b6970fff64901489fcc7b140cc03c91717 |
|---|---|
| Date: | 2009-10-18 20:56:38 |
| User: | dmitry |
| Comment: | Reformat code to 80 characters per line |
Tags And Properties
- branch=trunk inherited from [8f3b80c49a]
- sym-trunk inherited from [8f3b80c49a]
Changes
Changes to CRDatabase.m
| Old (890aaf6f1d6d4ab2) | New (a99057cad97ea56f) | |||
|---|---|---|---|---|
| 1 | // | 1 | // | |
| 2 | // CRDatabase.m | 2 | // CRDatabase.m | |
| 3 | // CRDatabase | 3 | // CRDatabase | |
| 4 | // | 4 | // | |
| 5 | 5 | |||
| 131 hidden lines | ||||
| 137 | if (SQLITE_BUSY == returnCode) { | 137 | if (SQLITE_BUSY == returnCode) { | |
| 138 | NSLog(@"[EGODatabase] Query Failed, Database Busy:\n%@\n\n", sql); | 138 | NSLog(@"[EGODatabase] Query Failed, Database Busy:\n%@\n\n", sql); | |
| 139 | } else if (SQLITE_DONE == returnCode || SQLITE_ROW == returnCode) { | 139 | } else if (SQLITE_DONE == returnCode || SQLITE_ROW == returnCode) { | |
| 140 | // nothing? | 140 | // nothing? | |
| 141 | } else if (SQLITE_ERROR == returnCode) { | 141 | } else if (SQLITE_ERROR == returnCode) { | |
| 142 | NSLog(@"sqlite3_step Failed: (%d: %s) SQLITE_ERROR\n%@\n\n", returnCode, [self lastErrorMessage], sql); | | | 142 | NSLog(@"sqlite3_step Failed: (%d: %s) SQLITE_ERROR\n%@\n\n", returnCode, |
| | | 143 | [self lastErrorMessage], sql); | ||
| 143 | } else if (SQLITE_MISUSE == returnCode) { | 144 | } else if (SQLITE_MISUSE == returnCode) { | |
| 144 | NSLog(@"sqlite3_step Failed: (%d: %s) SQLITE_MISUSE\n%@\n\n", returnCode, [self lastErrorMessage], sql); | | | 145 | NSLog(@"sqlite3_step Failed: (%d: %s) SQLITE_MISUSE\n%@\n\n", returnCode, |
| | | 146 | [self lastErrorMessage], sql); | ||
| 145 | } else { | 147 | } else { | |
| 146 | NSLog(@"sqlite3_step Failed: (%d: %s) UNKNOWN_ERROR\n%@\n\n", returnCode, [self lastErrorMessage], sql); | | | 148 | NSLog(@"sqlite3_step Failed: (%d: %s) UNKNOWN_ERROR\n%@\n\n", returnCode, |
| | | 149 | [self lastErrorMessage], sql); | ||
| 147 | } | 150 | } | |
| 148 | 151 | |||
| 149 | returnCode = sqlite3_finalize(statement); | 152 | returnCode = sqlite3_finalize(statement); | |
| 150 | result = (returnCode == SQLITE_OK); | 153 | result = (returnCode == SQLITE_OK); | |
| 151 | }); | 154 | }); | |
| 4 hidden lines | ||||
| 156 | 159 | |||
| 157 | 160 | |||
| 158 | - (void)asyncExecuteQuery:(NSString *)sql withArguments:(NSArray *)args | 161 | - (void)asyncExecuteQuery:(NSString *)sql withArguments:(NSArray *)args | |
| 159 | doWithResult:(void (^)(CRDatabaseResult *))block; | 162 | doWithResult:(void (^)(CRDatabaseResult *))block; | |
| 160 | { | 163 | { | |
| 161 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ | | | 164 | dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), |
| | | 165 | ^{ | ||
| 162 | block([self executeQuery:sql withArguments:args]); | 166 | block([self executeQuery:sql withArguments:args]); | |
| 163 | }); | 167 | }); | |
| 164 | } | 168 | } | |
| 165 | 169 | |||
| 166 | - (CRDatabaseResult *)executeQuery:(NSString *)sql withArgument:(id)arg | 170 | - (CRDatabaseResult *)executeQuery:(NSString *)sql withArgument:(id)arg | |
| 59 hidden lines | ||||
| 226 | 230 | |||
| 227 | case SQLITE_TEXT: { | 231 | case SQLITE_TEXT: { | |
| 228 | int dataSize = sqlite3_column_bytes(statement, col); | 232 | int dataSize = sqlite3_column_bytes(statement, col); | |
| 229 | const unsigned char *value = sqlite3_column_text(statement, col); | 233 | const unsigned char *value = sqlite3_column_text(statement, col); | |
| 230 | if (dataSize > 0 && value != NULL) | 234 | if (dataSize > 0 && value != NULL) | |
| 231 | [row.columnData addObject:[NSString stringWithUTF8String:(char *)value]]; | | | 235 | [row.columnData addObject: |
| | | 236 | [NSString stringWithUTF8String:(char *)value]]; | ||
| 232 | else | 237 | else | |
| 233 | [row.columnData addObject:@""]; | 238 | [row.columnData addObject:@""]; | |
| 234 | break; | 239 | break; | |
| 235 | } | 240 | } | |
| 236 | 241 | |||
| 5 hidden lines | ||||
| 242 | case SQLITE_BLOB: // same as default | 247 | case SQLITE_BLOB: // same as default | |
| 243 | default: { | 248 | default: { | |
| 244 | int dataSize = sqlite3_column_bytes(statement, col); | 249 | int dataSize = sqlite3_column_bytes(statement, col); | |
| 245 | const void *blob = sqlite3_column_blob(statement, col); | 250 | const void *blob = sqlite3_column_blob(statement, col); | |
| 246 | if (dataSize > 0 && blob != NULL) { | 251 | if (dataSize > 0 && blob != NULL) { | |
| 247 | NSMutableData *data = [NSMutableData dataWithBytes:blob length:dataSize]; | | | 252 | NSMutableData *data = [NSMutableData dataWithBytes:blob |
| | | 253 | length:dataSize]; | ||
| 248 | [row.columnData addObject:data]; | 254 | [row.columnData addObject:data]; | |
| 249 | } | 255 | } | |
| 250 | else | 256 | else | |
| 251 | [row.columnData addObject:[NSNull null]]; | 257 | [row.columnData addObject:[NSNull null]]; | |
| 252 | } | 258 | } | |
| 76 hidden lines | ||||
| 329 | return YES; | 335 | return YES; | |
| 330 | } | 336 | } | |
| 331 | 337 | |||
| 332 | - (void)bindObject:(id)obj toColumn:(int)idx inStatement:(sqlite3_stmt*)pStmt | 338 | - (void)bindObject:(id)obj toColumn:(int)idx inStatement:(sqlite3_stmt*)pStmt | |
| 333 | { | 339 | { | |
| 334 | if ((!obj) || ((NSNull *)obj == [NSNull null])) { | | | 340 | if ((!obj) || ((NSNull *)obj == [NSNull null])) |
| 335 | sqlite3_bind_null(pStmt, idx); | 341 | sqlite3_bind_null(pStmt, idx); | |
| 336 | } else if ([obj isKindOfClass:[NSData class]]) { | | | 342 | else if ([obj isKindOfClass:[NSData class]]) |
| 337 | sqlite3_bind_blob(pStmt, idx, [obj bytes], [obj length], SQLITE_STATIC); | 343 | sqlite3_bind_blob(pStmt, idx, [obj bytes], [obj length], SQLITE_STATIC); | |
| 338 | } else if ([obj isKindOfClass:[NSDate class]]) { | | | 344 | else if ([obj isKindOfClass:[NSDate class]]) |
| 339 | sqlite3_bind_double(pStmt, idx, [obj timeIntervalSince1970]); | 345 | sqlite3_bind_double(pStmt, idx, [obj timeIntervalSince1970]); | |
| 340 | } else if ([obj isKindOfClass:[NSNumber class]]) { | | | 346 | else if ([obj isKindOfClass:[NSNumber class]]) { |
| 341 | if (strcmp([obj objCType], @encode(BOOL)) == 0) { | | | 347 | if (strcmp([obj objCType], @encode(BOOL)) == 0) |
| 342 | sqlite3_bind_int(pStmt, idx, ([obj boolValue] ? 1 : 0)); | 348 | sqlite3_bind_int(pStmt, idx, ([obj boolValue] ? 1 : 0)); | |
| 343 | } else if (strcmp([obj objCType], @encode(int)) == 0) { | | | 349 | else if (strcmp([obj objCType], @encode(int)) == 0) |
| 344 | sqlite3_bind_int64(pStmt, idx, [obj longValue]); | 350 | sqlite3_bind_int64(pStmt, idx, [obj longValue]); | |
| 345 | } else if (strcmp([obj objCType], @encode(long)) == 0) { | | | 351 | else if (strcmp([obj objCType], @encode(long)) == 0) |
| 346 | sqlite3_bind_int64(pStmt, idx, [obj longValue]); | 352 | sqlite3_bind_int64(pStmt, idx, [obj longValue]); | |
| 347 | } else if (strcmp([obj objCType], @encode(float)) == 0) { | | | 353 | else if (strcmp([obj objCType], @encode(float)) == 0) |
| 348 | sqlite3_bind_double(pStmt, idx, [obj floatValue]); | 354 | sqlite3_bind_double(pStmt, idx, [obj floatValue]); | |
| 349 | } else if (strcmp([obj objCType], @encode(double)) == 0) { | | | 355 | else if (strcmp([obj objCType], @encode(double)) == 0) |
| 350 | sqlite3_bind_double(pStmt, idx, [obj doubleValue]); | 356 | sqlite3_bind_double(pStmt, idx, [obj doubleValue]); | |
| 351 | } else { | | | 357 | else |
| 352 | sqlite3_bind_text(pStmt, idx, [[obj description] UTF8String], -1, SQLITE_STATIC); | | | 358 | sqlite3_bind_text(pStmt, idx, [[obj description] UTF8String], |
| 353 | } | | | 359 | -1, SQLITE_STATIC); |
| 354 | } else { | | | ||
| 355 | sqlite3_bind_text(pStmt, idx, [[obj description] UTF8String], -1, SQLITE_STATIC); | | | ||
| 356 | } | 360 | } | |
| > | 361 | else | ||
| > | 362 | sqlite3_bind_text(pStmt, idx, [[obj description] UTF8String], | ||
| > | 363 | -1, SQLITE_STATIC); | ||
| 357 | } | 364 | } | |
| 358 | 365 | |||
| 359 | - (void)dealloc | 366 | - (void)dealloc | |
| 360 | { | 367 | { | |
| 361 | [self close]; | 368 | [self close]; | |
| 172 hidden lines | ||||
| 534 | { | 541 | { | |
| 535 | id value = [columnData_ objectAtIndex:columnIndex]; | 542 | id value = [columnData_ objectAtIndex:columnIndex]; | |
| 536 | if ([value isKindOfClass:[NSString class]]) // convert other values | 543 | if ([value isKindOfClass:[NSString class]]) // convert other values | |
| 537 | return value; | 544 | return value; | |
| 538 | else if ([value isKindOfClass:[NSData class]]) | 545 | else if ([value isKindOfClass:[NSData class]]) | |
| 539 | return [[NSString alloc] initWithData:[columnData_ objectAtIndex:columnIndex] | | | 546 | return [[NSString alloc] |
| 540 | encoding:NSUTF8StringEncoding]; | | | 547 | initWithData:[columnData_ objectAtIndex:columnIndex] |
| | | 548 | encoding:NSUTF8StringEncoding]; | ||
| 541 | else if ([value isKindOfClass:[NSNumber class]]) | 549 | else if ([value isKindOfClass:[NSNumber class]]) | |
| 542 | return [value stringValue]; | 550 | return [value stringValue]; | |
| 543 | else | 551 | else | |
| 544 | return nil; // unknown type of value, shouldn't happen | 552 | return nil; // unknown type of value, shouldn't happen | |
| 545 | } | 553 | } | |
| 547 | - (NSDate *)dateForColumn:(NSString*)columnName | 555 | - (NSDate *)dateForColumn:(NSString*)columnName | |
| 548 | { | 556 | { | |
| 549 | NSUInteger columnIndex = [self columnIndexForName:columnName]; | 557 | NSUInteger columnIndex = [self columnIndexForName:columnName]; | |
| 550 | if (columnIndex == NSNotFound) | 558 | if (columnIndex == NSNotFound) | |
| 551 | return nil; | 559 | return nil; | |
| 552 | return [NSDate dateWithTimeIntervalSince1970:[self doubleForColumnIndex:columnIndex]]; | | | 560 | return [NSDate dateWithTimeIntervalSince1970: |
| | | 561 | [self doubleForColumnIndex:columnIndex]]; | ||
| 553 | } | 562 | } | |
| 554 | 563 | |||
| 555 | - (NSDate *)dateForColumnIndex:(NSUInteger)columnIndex | 564 | - (NSDate *)dateForColumnIndex:(NSUInteger)columnIndex | |
| 556 | { | 565 | { | |
| 557 | return [NSDate dateWithTimeIntervalSince1970:[self doubleForColumnIndex:columnIndex]]; | | | 566 | return [NSDate dateWithTimeIntervalSince1970: |
| | | 567 | [self doubleForColumnIndex:columnIndex]]; | ||
| 558 | } | 568 | } | |
| 559 | 569 | |||
| 560 | - (NSData *)dataForColumn:(NSString *)columnName; | 570 | - (NSData *)dataForColumn:(NSString *)columnName; | |
| 561 | { | 571 | { | |
| 562 | NSUInteger columnIndex = [self columnIndexForName:columnName]; | 572 | NSUInteger columnIndex = [self columnIndexForName:columnName]; | |
| 13 hidden lines | ||||
| 576 | [columnData_ release]; | 586 | [columnData_ release]; | |
| 577 | [super dealloc]; | 587 | [super dealloc]; | |
| 578 | } | 588 | } | |
| 579 | 589 | |||
| 580 | @end | 590 | @end | |