Skip to content

Commit c5019a7

Browse files
benjirewisBenjamin Rewis
authored andcommitted
GODRIVER-2305 Correctly append empty tagset from URI (#853)
1 parent 624e7a3 commit c5019a7

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

x/mongo/driver/connstring/connstring.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,9 @@ func (p *parser) addOption(pair string) error {
746746
p.ReadPreference = value
747747
case "readpreferencetags":
748748
if value == "" {
749-
// for when readPreferenceTags= at end of URI
749+
// If "readPreferenceTags=" is supplied, append an empty map to tag sets to
750+
// represent a wild-card.
751+
p.ReadPreferenceTagSets = append(p.ReadPreferenceTagSets, map[string]string{})
750752
break
751753
}
752754

x/mongo/driver/connstring/connstring_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,8 +382,8 @@ func TestReadPreferenceTags(t *testing.T) {
382382
{s: "readPreferenceTags=one:1,two:2", expected: []map[string]string{{"one": "1", "two": "2"}}},
383383
{s: "readPreferenceTags=one:1&readPreferenceTags=two:2", expected: []map[string]string{{"one": "1"}, {"two": "2"}}},
384384
{s: "readPreferenceTags=one:1:3,two:2", err: true},
385-
{s: "readPreferenceTags=one:1&readPreferenceTags=two:2&readPreferenceTags=", expected: []map[string]string{{"one": "1"}, {"two": "2"}}},
386-
{s: "readPreferenceTags=", expected: nil},
385+
{s: "readPreferenceTags=one:1&readPreferenceTags=two:2&readPreferenceTags=", expected: []map[string]string{{"one": "1"}, {"two": "2"}, {}}},
386+
{s: "readPreferenceTags=", expected: []map[string]string{{}}},
387387
}
388388

389389
for _, test := range tests {

0 commit comments

Comments
 (0)