Skip to content

Conversation

@wjdavis5
Copy link
Contributor

I've went through and made most of the suggested changes, I didnt remove the geo radius member yet. I'm trying to remember what I was thinking at the time I put it in there. Nonetheless comments are welcome as always.

I'm hoping to get this finished up sometime in the near future.

…ed to fix GeoAdd [] command.

Added in GeoDist command and tested using the example online, also needs unit tests.

Added in geohash command - needs unit tests.

Added geo pos - needs tests.

started work on tests - moved new types to new files.

Spelling fix. Replaced 'paramter' with 'parameter'

Fixed build error caused by TryGetAzureRoleInstanceIdNoThrow test

Refactoring.

Implemented GeoPosition type and methods.

Updated naming of geodistance

created types needed for geo radius command.

working on GeoRadius method. - needs some more testing.
@wjdavis5
Copy link
Contributor Author

Also, I'm not real sure why Appveyor is having a hard time with the build, as I'm not able to reproduce this behavior locally...

@Wallonman
Copy link

Hi,

I'd like to participate to this request. First of all we've installed Redis 3.2 to get the new GEO features, and we're using your great library. Therefore we'd like to get them in the master as soon as possible.

What is your road map to merge this request into the master ?

In the meanwhile we made some tests, and we found an issue with one parameter (COUNT) in the GEORADIUS command.
So what is the procedure to help you fixing that issue ?
Should I create a branch ?

Another question raise here : till the branch is not merged to the master, we'd like to produce our own local nugget package, so can you tell me some clue to create that package ? Do you have any script or do you that manually ?

Regards,

Eric

@mgravell
Copy link
Collaborator

mgravell commented Dec 20, 2016 via email

@wjdavis5
Copy link
Contributor Author

Not sure where the pain lies but I'm could lend a hand if it would be useful.

@Wallonman
Copy link

Hi guys,

Looking into this compilation issue, I've found what's wrong. There are missing files.
The appveyor tells us that:
CSC : error CS2001: Source file 'C:\projects\stackexchange-redis\StackExchange.Redis_Net45\..\StackExchange.Redis\StackExchange\Redis\Compat\BufferedOutputStream.cs' could not be found. [C:\projects\stackexchange-redis\StackExchange.Redis_Net45\StackExchange.Redis_Net45.csproj]

Look at this screen shot, the file is missing in commit bc2ec48
image

The file was removed on commit : bc2ec48

Hope that helps,

Eric

@NickCraver
Copy link
Collaborator

@Wallonman Indeed - unfortunately for some reason this PR makes massive changes to the .csproj files, explicitly referencing all .cs files individually instead of the glob includes that were there. We also don't build with these project systems anymore.

I expect we should probably upgrade to the VS 2017 format in the next RC. It's coming along just not quite there for stable projects yet. The issue is that it excludes contributors without VS 2017 from working...it's a sharp cutover that's not at all open source friendly. However, it avoids most to all of the project file conflicts like this.

@Wallonman
Copy link

Wallonman commented Dec 23, 2016

If I understand well, it's a matter of VS version ?
Why shouldn't we restart à new fork, copying the changes made by wjdavis5 but avoiding changing the csproj too much ?

Or maybe simpler : fixing the csproj !
@wjdavis5 : would you like me to do that ?

@Wallonman
Copy link

I've pushed the fix on my branch : https://github.com/Wallonman/StackExchange.Redis

Someone can try to build on the CI ?

@wjdavis5
Copy link
Contributor Author

@NickCraver - I cant really speak as to why the file refs changed. It isnt something I specifically recall doing, nor do I know why I would have had a reason to. I do recall it giving me headaches when I added in new files though. Perhaps something I did when adding new files caused a problem.

@Wallonman
Copy link

Wallonman commented Dec 29, 2016 via email

@mgravell
Copy link
Collaborator

mgravell commented Jan 5, 2017

Having a look through now; note - unless I hit a brick wall, I'll try to make any fixes myself locally - any comments will be purely informational unless indicated otherwise; will add them here to track (because the review is already hella confusing)

So far:

  • GeoEntry - .Member should be RedisValue
  • GeoAdd taking GeoEntry doesn't need member - is included in GeoEntry
  • GeoHash - should take RedisValue
  • GeoPos - should take RedisValue and shouldn't be abbreviated
  • the GeoRadius API looks clunky and awkward; I'm going to see if I can make it more obvious
  • GeoUnit was duplicated - I suspect this was missed because of the csproj rewrites (which I have reverted)
  • incorrect use of Equals when comparing structs in GeoEntry / GeoPosition
  • I don't think the "none" case of GeoRadius is handled correctly
  • need to refactor a lot of the post-processing to use result processors - otherwise will not be usable from async
  • need to add async
  • keyspace isolation (prefix aka ToInner) needs to be preserved
  • support for GEORADIUSBYMEMBER
  • GEODIST needs to return nullable for the "not a place" case

mgravell added a commit that referenced this pull request Jan 5, 2017
….Redis into wjdavis5-AddGeoAdd

Apply feedback from #489 (comment) - note still untested; that's next

# Conflicts:
#	StackExchange.Redis.Tests/ConnectionFailedErrors.cs
#	StackExchange.Redis/StackExchange/Redis/IDatabase.cs
#	StackExchange.Redis_Net40/StackExchange.Redis_Net40.StrongName.csproj
#	StackExchange.Redis_Net40/StackExchange.Redis_Net40.csproj
#	StackExchange.Redis_Net45/StackExchange.Redis_Net45.StrongName.csproj
#	StackExchange.Redis_Net45/StackExchange.Redis_Net45.csproj
#	StackExchange.Redis_Net46/StackExchange.Redis_Net46.StrongName.csproj
#	StackExchange.Redis_Net46/StackExchange.Redis_Net46.csproj
@mgravell
Copy link
Collaborator

mgravell commented Jan 5, 2017

my changes are visible in this branch (until I delete it) for your reference; https://github.com/StackExchange/StackExchange.Redis/commits/wjdavis5-AddGeoAdd

so far I've only looked at the code; putting it through its paces shortly. Thanks for the PR - much appreciated. Sorry it has taken some time and some iteration, but I'm ... fussy. More specifically, it is virtually impossible to fix any API problems once we've released them, so it needs to be "right enough" first time out of the gate.

@mgravell mgravell merged commit d0d108b into StackExchange:master Jan 5, 2017
@mgravell
Copy link
Collaborator

mgravell commented Jan 5, 2017

woohoo; tests added for all methods, and merged; thanks for the contribution

@mgravell
Copy link
Collaborator

mgravell commented Jan 5, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants