|
From: <asf...@us...> - 2011-06-17 01:20:47
|
Revision: 53185
http://firebird.svn.sourceforge.net/firebird/?rev=53185&view=rev
Author: asfernandes
Date: 2011-06-17 01:20:41 +0000 (Fri, 17 Jun 2011)
Log Message:
-----------
Backported fix for CORE-3523 - SIMILAR TO: False matches on descending ranges.
Modified Paths:
--------------
firebird/branches/B2_5_Release/doc/WhatsNew
firebird/branches/B2_5_Release/src/jrd/SimilarToMatcher.h
Modified: firebird/branches/B2_5_Release/doc/WhatsNew
===================================================================
--- firebird/branches/B2_5_Release/doc/WhatsNew 2011-06-17 01:06:27 UTC (rev 53184)
+++ firebird/branches/B2_5_Release/doc/WhatsNew 2011-06-17 01:20:41 UTC (rev 53185)
@@ -2,6 +2,11 @@
* v2.5.1
**************************
+ * Bugfix CORE-3523
+ SIMILAR TO: False matches on descending ranges.
+ Contributor(s):
+ Adriano dos Santos Fernandes <adrianosf at uol.com.br>
+
* Bugfix CORE-3512
Server hangs when trace is running
Contributor(s):
Modified: firebird/branches/B2_5_Release/src/jrd/SimilarToMatcher.h
===================================================================
--- firebird/branches/B2_5_Release/src/jrd/SimilarToMatcher.h 2011-06-17 01:06:27 UTC (rev 53184)
+++ firebird/branches/B2_5_Release/src/jrd/SimilarToMatcher.h 2011-06-17 01:20:41 UTC (rev 53185)
@@ -850,22 +850,11 @@
len = charSet->substring(originalPatternLen, originalPatternStr,
sizeof(c), c, patternPos - patternStart, 1);
- if (textType->compare(rangeBuffer[previousRangeBufferCount],
- &rangeBuffer[previousRangeBufferCount + 1], len, c) <= 0)
- {
- rangeBuffer.push(len);
- rangeCount = rangeBuffer.getCount();
- memcpy(rangeBuffer.getBuffer(rangeCount + len) + rangeCount, &c, len);
+ rangeBuffer.push(len);
+ rangeCount = rangeBuffer.getCount();
+ memcpy(rangeBuffer.getBuffer(rangeCount + len) + rangeCount, &c, len);
- charsBuffer.push(*patternPos);
- }
- else
- {
- rangeBuffer.shrink(previousRangeBufferCount);
- charsBuffer.pop();
- }
-
- ++patternPos;
+ charsBuffer.push(*patternPos++);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|