Monotone-Parent: 6e855c49b7521b655243e2102c805434a3cf5d96
Monotone-Revision: b6bdeca3435d0f186f21c6ab3f3905445e6a12b4 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-12-10T22:24:36 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
0251d4ed6e
commit
b4807dbb8e
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
* EOQualifier+GCS.m (_appendKeyValueQualifier:toString:): fixed
|
* EOQualifier+GCS.m (_appendKeyValueQualifier:toString:): fixed
|
||||||
evaluation to handle the "EOQualifierOperatorNotEqual" operator.
|
evaluation to handle the "EOQualifierOperatorNotEqual" operator.
|
||||||
|
Fixed code to consider "nil" values as another case for "NULL".
|
||||||
|
|
||||||
2010-08-19 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
2010-08-19 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
|
||||||
|
|
|
@ -75,65 +75,60 @@
|
||||||
qKey = [_q key];
|
qKey = [_q key];
|
||||||
isCI = NO;
|
isCI = NO;
|
||||||
|
|
||||||
if ((val = [_q value])) {
|
SEL op = [_q selector];
|
||||||
SEL op = [_q selector];
|
|
||||||
|
|
||||||
if ([val isNotNull]) {
|
val = [_q value];
|
||||||
if (sel_eq(op, EOQualifierOperatorEqual))
|
if (val && [val isNotNull]) {
|
||||||
qOperator = @"=";
|
if (sel_eq(op, EOQualifierOperatorEqual))
|
||||||
else if (sel_eq(op, EOQualifierOperatorNotEqual))
|
qOperator = @"=";
|
||||||
qOperator = @"!=";
|
else if (sel_eq(op, EOQualifierOperatorNotEqual))
|
||||||
else if (sel_eq(op, EOQualifierOperatorLessThan))
|
qOperator = @"!=";
|
||||||
qOperator = @"<";
|
else if (sel_eq(op, EOQualifierOperatorLessThan))
|
||||||
else if (sel_eq(op, EOQualifierOperatorGreaterThan))
|
qOperator = @"<";
|
||||||
qOperator = @">";
|
else if (sel_eq(op, EOQualifierOperatorGreaterThan))
|
||||||
else if (sel_eq(op, EOQualifierOperatorLessThanOrEqualTo))
|
qOperator = @">";
|
||||||
qOperator = @"<=";
|
else if (sel_eq(op, EOQualifierOperatorLessThanOrEqualTo))
|
||||||
else if (sel_eq(op, EOQualifierOperatorGreaterThanOrEqualTo))
|
qOperator = @"<=";
|
||||||
qOperator = @">=";
|
else if (sel_eq(op, EOQualifierOperatorGreaterThanOrEqualTo))
|
||||||
else if (sel_eq(op, EOQualifierOperatorLike))
|
qOperator = @">=";
|
||||||
qOperator = @"LIKE";
|
else if (sel_eq(op, EOQualifierOperatorLike))
|
||||||
else if (sel_eq(op, EOQualifierOperatorCaseInsensitiveLike)) {
|
qOperator = @"LIKE";
|
||||||
isCI = YES;
|
else if (sel_eq(op, EOQualifierOperatorCaseInsensitiveLike)) {
|
||||||
qOperator = @"LIKE";
|
isCI = YES;
|
||||||
}
|
qOperator = @"LIKE";
|
||||||
else {
|
|
||||||
[self errorWithFormat:@"%s: unsupported operation for null: %@",
|
|
||||||
__PRETTY_FUNCTION__, NSStringFromSelector(op)];
|
|
||||||
qOperator = @"=";
|
|
||||||
}
|
|
||||||
|
|
||||||
if ([val isKindOfClass:[NSNumber class]])
|
|
||||||
qValue = [val stringValue];
|
|
||||||
else if ([val isKindOfClass:[NSString class]]) {
|
|
||||||
qValue = [NSString stringWithFormat: @"'%@'", val];
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
qValue = @"NULL";
|
|
||||||
[self errorWithFormat:@"%s: unsupported value class: %@",
|
|
||||||
__PRETTY_FUNCTION__, NSStringFromClass([val class])];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (sel_eq(op, EOQualifierOperatorEqual)) {
|
[self errorWithFormat:@"%s: unsupported operation for null: %@",
|
||||||
qOperator = @"IS";
|
__PRETTY_FUNCTION__, NSStringFromSelector(op)];
|
||||||
qValue = @"NULL";
|
qOperator = @"=";
|
||||||
}
|
}
|
||||||
else if (sel_eq(op, EOQualifierOperatorNotEqual)) {
|
|
||||||
qOperator = @"IS NOT";
|
if ([val isKindOfClass:[NSNumber class]])
|
||||||
qValue = @"NULL";
|
qValue = [val stringValue];
|
||||||
}
|
else if ([val isKindOfClass:[NSString class]]) {
|
||||||
else {
|
qValue = [NSString stringWithFormat: @"'%@'", val];
|
||||||
qOperator = @"IS";
|
}
|
||||||
qValue = @"NULL";
|
else {
|
||||||
[self errorWithFormat:@"%s: invalid operation for null: %@",
|
qValue = @"NULL";
|
||||||
__PRETTY_FUNCTION__, NSStringFromSelector(op)];
|
[self errorWithFormat:@"%s: unsupported value class: %@",
|
||||||
}
|
__PRETTY_FUNCTION__, NSStringFromClass([val class])];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
qOperator = @"IS";
|
if (sel_eq(op, EOQualifierOperatorEqual)) {
|
||||||
qValue = @"NULL";
|
qOperator = @"IS";
|
||||||
|
qValue = @"NULL";
|
||||||
|
}
|
||||||
|
else if (sel_eq(op, EOQualifierOperatorNotEqual)) {
|
||||||
|
qOperator = @"IS NOT";
|
||||||
|
qValue = @"NULL";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
qOperator = @"IS";
|
||||||
|
qValue = @"NULL";
|
||||||
|
[self errorWithFormat:@"%s: invalid operation for null: %@",
|
||||||
|
__PRETTY_FUNCTION__, NSStringFromSelector(op)];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isCI)
|
if (isCI)
|
||||||
|
|
Loading…
Reference in New Issue