diff options
author | stuconnolly <stuart02@gmail.com> | 2012-09-26 07:23:08 +0000 |
---|---|---|
committer | stuconnolly <stuart02@gmail.com> | 2012-09-26 07:23:08 +0000 |
commit | 88263061eb326e58fe882bc91d09f52d3d49628d (patch) | |
tree | f16453cd3bc0afc429b7592a46a84196e775933d /Frameworks/PostgresKit/Source/FLXPostgresError.m | |
parent | 9e0da1ad71ea178867a8d3419f80a46b42c32d4c (diff) | |
download | sequelpro-88263061eb326e58fe882bc91d09f52d3d49628d.tar.gz sequelpro-88263061eb326e58fe882bc91d09f52d3d49628d.tar.bz2 sequelpro-88263061eb326e58fe882bc91d09f52d3d49628d.zip |
Change project prefix.
Diffstat (limited to 'Frameworks/PostgresKit/Source/FLXPostgresError.m')
-rw-r--r-- | Frameworks/PostgresKit/Source/FLXPostgresError.m | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/Frameworks/PostgresKit/Source/FLXPostgresError.m b/Frameworks/PostgresKit/Source/FLXPostgresError.m deleted file mode 100644 index 31024a92..00000000 --- a/Frameworks/PostgresKit/Source/FLXPostgresError.m +++ /dev/null @@ -1,129 +0,0 @@ -// -// $Id$ -// -// FLXPostgresError.m -// PostgresKit -// -// Created by Stuart Connolly (stuconnolly.com) on September 3, 2012. -// Copyright (c) 2012 Stuart Connolly. All rights reserved. -// -// Permission is hereby granted, free of charge, to any person -// obtaining a copy of this software and associated documentation -// files (the "Software"), to deal in the Software without -// restriction, including without limitation the rights to use, -// copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice shall be -// included in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -// OTHER DEALINGS IN THE SOFTWARE. - -#import "FLXPostgresError.h" -#import "FLXPostgresException.h" - -@interface FLXPostgresError () - -- (void)_extractErrorDetailsFromResult:(const PGresult *)result; -- (NSString *)_extractErrorField:(int)field fromResult:(const PGresult *)result; - -@end - -@implementation FLXPostgresError - -@synthesize errorSeverity = _errorSeverity; -@synthesize errorStateCode = _errorStateCode; -@synthesize errorPrimaryMessage = _errorPrimaryMessage; -@synthesize errorDetailMessage = _errorDetailMessage; -@synthesize errorMessageHint = _errorMessageHint; -@synthesize errorStatementPosition = _errorStatementPosition; - -#pragma mark - - -- (id)init -{ - [FLXPostgresException raise:NSInternalInconsistencyException - reason:@"%@ shouldn't be init'd directly; use initWithResult: instead.", [self className]]; - - return nil; -} - -- (id)initWithResult:(const void *)result -{ - if ((self = [super init])) { - - _errorSeverity = nil; - _errorStateCode = nil; - _errorPrimaryMessage = nil; - _errorDetailMessage = nil; - _errorMessageHint = nil; - _errorStatementPosition = -1; - - if (result) [self _extractErrorDetailsFromResult:(const PGresult *)result]; - } - - return self; -} - -- (NSString *)description -{ - return [NSString stringWithFormat:@"<%@: Sev %@ (%@): %@>", [self className], _errorSeverity, _errorStateCode, _errorPrimaryMessage]; -} - -#pragma mark - -#pragma mark Private API - -/** - * Extracts all the error information from the supplied result. - * - * @param result The Postgres result to extract the information from. - */ -- (void)_extractErrorDetailsFromResult:(const PGresult *)result -{ - // Note that we don't expose all the fields that are available. - // The ones we don't mostly include information internal to Postgres - // that generally isn't useful to end users. - _errorSeverity = [self _extractErrorField:PG_DIAG_SEVERITY fromResult:result]; - _errorStateCode = [self _extractErrorField:PG_DIAG_SQLSTATE fromResult:result]; - _errorPrimaryMessage = [self _extractErrorField:PG_DIAG_MESSAGE_PRIMARY fromResult:result]; - _errorDetailMessage = [self _extractErrorField:PG_DIAG_MESSAGE_DETAIL fromResult:result]; - _errorMessageHint = [self _extractErrorField:PG_DIAG_MESSAGE_HINT fromResult:result]; - _errorStatementPosition = [[self _extractErrorField:PG_DIAG_STATEMENT_POSITION fromResult:result] integerValue]; -} - -/** - * Extracts the supplied error field from the supplied Postgres result. - * - * @param field The error field to extract. - * @param result The Postgres result to extract the field from. - * - * @return A string representing the error value. The caller is responsible for freeing the associated memory. - */ -- (NSString *)_extractErrorField:(int)field fromResult:(const PGresult *)result -{ - return [[[NSString alloc] initWithUTF8String:PQresultErrorField(result, field)] autorelease]; -} - -#pragma mark - - -- (void)dealloc -{ - if (_errorSeverity) [_errorSeverity release], _errorSeverity = nil; - if (_errorStateCode) [_errorStateCode release], _errorStateCode = nil; - if (_errorPrimaryMessage) [_errorPrimaryMessage release], _errorPrimaryMessage = nil; - if (_errorDetailMessage) [_errorDetailMessage release], _errorDetailMessage = nil; - if (_errorMessageHint) [_errorMessageHint release], _errorMessageHint = nil; - - [super dealloc]; -} - -@end |