Skip to content

Commit 8fdfe3c

Browse files
authored
Merge pull request #430 from ajnavarro/improvement/update-git-version-improved-decoder
Update go-git and go-mysql-server dependencies
2 parents 8aa220a + 173baaf commit 8fdfe3c

File tree

87 files changed

+4654
-2156
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+4654
-2156
lines changed

Gopkg.lock

+25-183
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[[constraint]]
22
name = "gopkg.in/src-d/go-mysql-server.v0"
3-
revision = "5da99c3ba25f3c637ea5dd041cf5ba73e24ac1f2"
3+
revision = "eff16b2a86be40cb6bf6ef35801ab1eb283fd983"
44

55
[[constraint]]
66
name = "github.com/jessevdk/go-flags"
@@ -17,7 +17,7 @@
1717
[[constraint]]
1818
name = "gopkg.in/src-d/go-git.v4"
1919
source = "github.com/src-d/go-git"
20-
revision = "0710c6cb710a0cdab04ab7f61cc62e23cfcacbee"
20+
revision = "cdfa0bb8d987272b5729e565dbcc64f07963d77d"
2121

2222
[[constraint]]
2323
name = "gopkg.in/src-d/go-git-fixtures.v3"

docs/using-gitbase/functions.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ To make some common tasks easier for the user, there are some functions to inter
1414

1515
## Standard functions
1616

17-
You can check standard functions in [`go-mysql-server` documentation](https://github.com/src-d/go-mysql-server/tree/5da99c3ba25f3c637ea5dd041cf5ba73e24ac1f2#custom-functions).
17+
You can check standard functions in [`go-mysql-server` documentation](https://github.com/src-d/go-mysql-server/tree/eff16b2a86be40cb6bf6ef35801ab1eb283fd983#custom-functions).

docs/using-gitbase/indexes.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ Note that you can create an index either **on one or more columns** or **on a si
1010

1111
You can find some more examples in the [examples](./examples.md#create-an-index-for-columns-on-a-table) section.
1212

13-
See [go-mysql-server](https://github.com/src-d/go-mysql-server/tree/5da99c3ba25f3c637ea5dd041cf5ba73e24ac1f2#indexes) documentation for more details
13+
See [go-mysql-server](https://github.com/src-d/go-mysql-server/tree/eff16b2a86be40cb6bf6ef35801ab1eb283fd983#indexes) documentation for more details
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
## Supported syntax
22

3-
To see the SQL subset currently supported take a look at [this list](https://github.com/src-d/go-mysql-server/blob/5da99c3ba25f3c637ea5dd041cf5ba73e24ac1f2/SUPPORTED.md) from [src-d/go-mysql-server](https://github.com/src-d/go-mysql-server).
3+
To see the SQL subset currently supported take a look at [this list](https://github.com/src-d/go-mysql-server/blob/eff16b2a86be40cb6bf6ef35801ab1eb283fd983/SUPPORTED.md) from [src-d/go-mysql-server](https://github.com/src-d/go-mysql-server).

internal/rule/squashjoins_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -2531,3 +2531,7 @@ type dummyLookup struct {
25312531
func (dummyLookup) Values() (sql.IndexValueIter, error) {
25322532
panic("dummyLookup Values is a placeholder")
25332533
}
2534+
2535+
func (l dummyLookup) Indexes() []string {
2536+
return []string{fmt.Sprintf("index_%d", l.n)}
2537+
}

packfiles.go

+28-16
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import (
1919
)
2020

2121
type packRepository struct {
22-
packs map[plumbing.Hash]packfile.Index
22+
packs map[plumbing.Hash]idxfile.Index
2323
}
2424

2525
func repositoryPackfiles(repo repository) (*dotgit.DotGit, []plumbing.Hash, error) {
@@ -44,7 +44,7 @@ func repositoryPackfiles(repo repository) (*dotgit.DotGit, []plumbing.Hash, erro
4444

4545
type packfileIndex struct {
4646
packfile plumbing.Hash
47-
idx *packfile.Index
47+
idx idxfile.Index
4848
}
4949

5050
type repositoryIndex struct {
@@ -74,28 +74,35 @@ func newRepositoryIndex(repo repository) (*repositoryIndex, error) {
7474
func openPackfileIndex(
7575
dotGit *dotgit.DotGit,
7676
hash plumbing.Hash,
77-
) (*packfile.Index, error) {
77+
) (*idxfile.MemoryIndex, error) {
7878
f, err := dotGit.ObjectPackIdx(hash)
7979
if err != nil {
8080
return nil, err
8181
}
8282
defer f.Close()
8383

84-
idx := idxfile.NewIdxfile()
84+
idx := idxfile.NewMemoryIndex()
8585
if err := idxfile.NewDecoder(f).Decode(idx); err != nil {
8686
return nil, err
8787
}
8888

89-
return packfile.NewIndexFromIdxFile(idx), nil
89+
return idx, nil
9090
}
9191

9292
var errHashNotInIndex = errors.NewKind("object hash %s is not in repository")
9393

9494
func (i *repositoryIndex) find(hash plumbing.Hash) (int64, plumbing.Hash, error) {
9595
for _, idx := range i.indexes {
96-
if entry, ok := idx.idx.LookupHash(hash); ok {
97-
return int64(entry.Offset), idx.packfile, nil
96+
ofs, err := idx.idx.FindOffset(hash)
97+
if err == plumbing.ErrObjectNotFound {
98+
continue
9899
}
100+
101+
if err != nil {
102+
return 0, plumbing.ZeroHash, err
103+
}
104+
105+
return ofs, idx.packfile, nil
99106
}
100107

101108
ok, err := i.isUnpacked(hash)
@@ -192,8 +199,8 @@ func getUnpackedObject(repo repository, hash plumbing.Hash) (o object.Object, er
192199

193200
type repoObjectDecoder struct {
194201
repo string
195-
packfile plumbing.Hash
196-
decoder *packfile.Decoder
202+
hash plumbing.Hash
203+
packfile *packfile.Packfile
197204
storage storer.EncodedObjectStorer
198205
}
199206

@@ -223,26 +230,31 @@ func newRepoObjectDecoder(
223230
return nil, err
224231
}
225232

226-
decoder, err := packfile.NewDecoder(packfile.NewScanner(packf), storage)
233+
idx, err := openPackfileIndex(dot, hash)
234+
if err != nil {
235+
return nil, err
236+
}
237+
238+
packfile := packfile.NewPackfile(idx, fs, packf)
227239
if err != nil {
228240
_ = packf.Close()
229241
return nil, err
230242
}
231243

232244
return &repoObjectDecoder{
233245
repo: repo.ID(),
234-
packfile: hash,
235-
decoder: decoder,
246+
hash: hash,
247+
packfile: packfile,
236248
storage: storage,
237249
}, nil
238250
}
239251

240-
func (d *repoObjectDecoder) equals(repo string, packfile plumbing.Hash) bool {
241-
return d.repo == repo && d.packfile == packfile
252+
func (d *repoObjectDecoder) equals(repo string, hash plumbing.Hash) bool {
253+
return d.repo == repo && d.hash == hash
242254
}
243255

244256
func (d *repoObjectDecoder) get(offset int64) (object.Object, error) {
245-
encodedObj, err := d.decoder.DecodeObjectAt(offset)
257+
encodedObj, err := d.packfile.GetByOffset(offset)
246258
if err != nil {
247259
return nil, err
248260
}
@@ -251,7 +263,7 @@ func (d *repoObjectDecoder) get(offset int64) (object.Object, error) {
251263
}
252264

253265
func (d *repoObjectDecoder) Close() error {
254-
return d.decoder.Close()
266+
return d.packfile.Close()
255267
}
256268

257269
type objectDecoder struct {

squash_iterator_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -1010,3 +1010,7 @@ type lookup struct {
10101010
func (l lookup) Values() (sql.IndexValueIter, error) {
10111011
return l.values, nil
10121012
}
1013+
1014+
func (l lookup) Indexes() []string {
1015+
return []string{"test_idx"}
1016+
}

vendor/github.com/pilosa/go-pilosa/gopilosa_pbuf/public.pb.go

+12-36
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/pilosa/pilosa/internal/private.pb.go

+31-93
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)