Skip to content

Commit

Permalink
Merge pull request #18436 from arekpalinski/release/v6.0
Browse files Browse the repository at this point in the history
merge RavenDB-22311 to release/v6.0
  • Loading branch information
arekpalinski committed Apr 24, 2024
2 parents c93bcf7 + f0ec2a8 commit cf3f00c
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ private unsafe void ScanNextAlphabeticOrNumericSequence()
{
CurrentSequenceStartPosition = GetStartPosition();
Span<char> characters = stackalloc char[4];
var (usedBytes, usedChars) = ReadCharacter(CurrentPositionInString, characters);
var (usedBytes, usedChars) = ReadCharacter(StringBufferOffset, characters);
_currentSequenceIsNumber = usedChars == 1 && char.IsDigit(characters[0]);
NumberLength = 0;

Expand Down Expand Up @@ -180,7 +180,7 @@ private unsafe void ScanNextAlphabeticOrNumericSequence()

if (CurrentPositionInString < _stringLength)
{
(usedBytes, usedChars) = ReadCharacter(CurrentPositionInString, characters);
(usedBytes, usedChars) = ReadCharacter(StringBufferOffset, characters);
currentCharacterIsDigit = usedChars == 1 && char.IsDigit(characters[0]);
}
else
Expand Down
35 changes: 35 additions & 0 deletions test/SlowTests/Issues/RavenDB-22311.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
using System.Linq;
using FastTests;
using Raven.Client.Documents;
using Raven.Client.Documents.Session;
using Tests.Infrastructure;
using Tests.Infrastructure.Entities;
using Xunit;
using Xunit.Abstractions;

namespace SlowTests.Issues;

public class RavenDB_22311 : RavenTestBase
{
public RavenDB_22311(ITestOutputHelper output) : base(output)
{
}

[RavenFact(RavenTestCategory.Lucene | RavenTestCategory.Querying)]
public void AlphanumericalWillShiftWithGoodOffsetSize()
{
using var store = GetDocumentStore(Options.ForSearchEngine(RavenSearchEngineMode.Lucene));
using var session = store.OpenSession();
session.Store(new Order(){Company = "🚀1t"});
session.Store(new Order(){Company = "🚀1"});
session.SaveChanges();

var result = session.Query<Order>()
.Customize(c => c.WaitForNonStaleResults())
.OrderBy(x => x.Company, OrderingType.AlphaNumeric)
.ToList();

Assert.Equal("🚀1", result[0].Company);
Assert.Equal("🚀1t", result[1].Company);
}
}

0 comments on commit cf3f00c

Please sign in to comment.