| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package txnBuf | 5 package txnBuf |
| 6 | 6 |
| 7 import ( | 7 import ( |
| 8 "bytes" | 8 "bytes" |
| 9 "fmt" | 9 "fmt" |
| 10 "math/rand" | 10 "math/rand" |
| (...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 488 {2, 4}, | 488 {2, 4}, |
| 489 {3, 4}, | 489 {3, 4}, |
| 490 {2, 5}, | 490 {2, 5}, |
| 491 {3, 5}, | 491 {3, 5}, |
| 492 {4, 5}, | 492 {4, 5}, |
| 493 {2, 6}, | 493 {2, 6}, |
| 494 {3, 6}, | 494 {3, 6}, |
| 495 } | 495 } |
| 496 | 496 |
| 497 for i, pm := range vals { | 497 for i, pm := range vals { |
| 498 » » » » » » So(pm.GetMetaDefault("key", nil)
, ShouldResemble, ds.MakeKey("Parent", 1, "Foo", expect[i].id)) | 498 » » » » » » So(datastore.GetMetaDefault(pm,
"key", nil), ShouldResemble, |
| 499 » » » » » » » ds.MakeKey("Parent", 1,
"Foo", expect[i].id)) |
| 499 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) | 500 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) |
| 500 } | 501 } |
| 501 | 502 |
| 502 // should remove 4 entries, but there ar
e plenty more to fill | 503 // should remove 4 entries, but there ar
e plenty more to fill |
| 503 So(ds.Delete(ds.MakeKey("Parent", 1, "Fo
o", 2)), ShouldBeNil) | 504 So(ds.Delete(ds.MakeKey("Parent", 1, "Fo
o", 2)), ShouldBeNil) |
| 504 | 505 |
| 505 vals = []datastore.PropertyMap{} | 506 vals = []datastore.PropertyMap{} |
| 506 So(ds.GetAll(q, &vals), ShouldBeNil) | 507 So(ds.GetAll(q, &vals), ShouldBeNil) |
| 507 So(len(vals), ShouldEqual, 10) | 508 So(len(vals), ShouldEqual, 10) |
| 508 | 509 |
| 509 expect = []struct { | 510 expect = []struct { |
| 510 id int64 | 511 id int64 |
| 511 val int64 | 512 val int64 |
| 512 }{ | 513 }{ |
| 513 // note (3, 3) and (4, 3) are co
rrectly missing because deleting | 514 // note (3, 3) and (4, 3) are co
rrectly missing because deleting |
| 514 // 2 removed two entries which a
re hidden by the Offset(4). | 515 // 2 removed two entries which a
re hidden by the Offset(4). |
| 515 {3, 4}, | 516 {3, 4}, |
| 516 {3, 5}, | 517 {3, 5}, |
| 517 {4, 5}, | 518 {4, 5}, |
| 518 {3, 6}, | 519 {3, 6}, |
| 519 {3, 7}, | 520 {3, 7}, |
| 520 {4, 7}, | 521 {4, 7}, |
| 521 {3, 8}, | 522 {3, 8}, |
| 522 {3, 9}, | 523 {3, 9}, |
| 523 {4, 9}, | 524 {4, 9}, |
| 524 {4, 11}, | 525 {4, 11}, |
| 525 } | 526 } |
| 526 | 527 |
| 527 for i, pm := range vals { | 528 for i, pm := range vals { |
| 528 » » » » » » So(pm.GetMetaDefault("key", nil)
, ShouldResemble, ds.MakeKey("Parent", 1, "Foo", expect[i].id)) | 529 » » » » » » So(datastore.GetMetaDefault(pm,
"key", nil), ShouldResemble, |
| 530 » » » » » » » ds.MakeKey("Parent", 1,
"Foo", expect[i].id)) |
| 529 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) | 531 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) |
| 530 } | 532 } |
| 531 | 533 |
| 532 So(ds.Put(&Foo{ID: 1, Parent: root, Valu
e: []int64{3, 9}}), ShouldBeNil) | 534 So(ds.Put(&Foo{ID: 1, Parent: root, Valu
e: []int64{3, 9}}), ShouldBeNil) |
| 533 | 535 |
| 534 vals = []datastore.PropertyMap{} | 536 vals = []datastore.PropertyMap{} |
| 535 So(ds.GetAll(q, &vals), ShouldBeNil) | 537 So(ds.GetAll(q, &vals), ShouldBeNil) |
| 536 So(len(vals), ShouldEqual, 10) | 538 So(len(vals), ShouldEqual, 10) |
| 537 | 539 |
| 538 expect = []struct { | 540 expect = []struct { |
| 539 id int64 | 541 id int64 |
| 540 val int64 | 542 val int64 |
| 541 }{ | 543 }{ |
| 542 // 'invisible' {1, 3} entry bump
s the {4, 3} into view. | 544 // 'invisible' {1, 3} entry bump
s the {4, 3} into view. |
| 543 {4, 3}, | 545 {4, 3}, |
| 544 {3, 4}, | 546 {3, 4}, |
| 545 {3, 5}, | 547 {3, 5}, |
| 546 {4, 5}, | 548 {4, 5}, |
| 547 {3, 6}, | 549 {3, 6}, |
| 548 {3, 7}, | 550 {3, 7}, |
| 549 {4, 7}, | 551 {4, 7}, |
| 550 {3, 8}, | 552 {3, 8}, |
| 551 {1, 9}, | 553 {1, 9}, |
| 552 {3, 9}, | 554 {3, 9}, |
| 553 {4, 9}, | 555 {4, 9}, |
| 554 } | 556 } |
| 555 | 557 |
| 556 for i, pm := range vals { | 558 for i, pm := range vals { |
| 557 » » » » » » So(pm.GetMetaDefault("key", nil)
, ShouldResemble, ds.MakeKey("Parent", 1, "Foo", expect[i].id)) | 559 » » » » » » So(datastore.GetMetaDefault(pm,
"key", nil), ShouldResemble, |
| 560 » » » » » » » ds.MakeKey("Parent", 1,
"Foo", expect[i].id)) |
| 558 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) | 561 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) |
| 559 } | 562 } |
| 560 | 563 |
| 561 return nil | 564 return nil |
| 562 }, nil), ShouldBeNil) | 565 }, nil), ShouldBeNil) |
| 563 | 566 |
| 564 }) | 567 }) |
| 565 | 568 |
| 566 Convey("project+distinct", func() { | 569 Convey("project+distinct", func() { |
| 567 _, _, ds := mkds([]*Foo{ | 570 _, _, ds := mkds([]*Foo{ |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 {3, 8}, | 605 {3, 8}, |
| 603 {3, 9}, | 606 {3, 9}, |
| 604 {4, 11}, | 607 {4, 11}, |
| 605 {5, 70}, | 608 {5, 70}, |
| 606 {4, 100}, | 609 {4, 100}, |
| 607 {5, 101}, | 610 {5, 101}, |
| 608 } | 611 } |
| 609 | 612 |
| 610 for i, pm := range vals { | 613 for i, pm := range vals { |
| 611 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) | 614 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) |
| 612 » » » » » » So(pm.GetMetaDefault("key", nil)
, ShouldResemble, ds.MakeKey("Parent", 1, "Foo", expect[i].id)) | 615 » » » » » » So(datastore.GetMetaDefault(pm,
"key", nil), ShouldResemble, |
| 616 » » » » » » » ds.MakeKey("Parent", 1,
"Foo", expect[i].id)) |
| 613 } | 617 } |
| 614 | 618 |
| 615 return nil | 619 return nil |
| 616 }, nil), ShouldBeNil) | 620 }, nil), ShouldBeNil) |
| 617 }) | 621 }) |
| 618 | 622 |
| 619 Convey("overwrite", func() { | 623 Convey("overwrite", func() { |
| 620 data := []*Foo{ | 624 data := []*Foo{ |
| 621 {ID: 2, Parent: root, Value: []int64{1,
2, 3, 4, 5, 6, 7}}, | 625 {ID: 2, Parent: root, Value: []int64{1,
2, 3, 4, 5, 6, 7}}, |
| 622 {ID: 3, Parent: root, Value: []int64{3,
4, 5, 6, 7, 8, 9}}, | 626 {ID: 3, Parent: root, Value: []int64{3,
4, 5, 6, 7, 8, 9}}, |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 {5, 101}, | 713 {5, 101}, |
| 710 {5, 70}, | 714 {5, 70}, |
| 711 {3, 9}, | 715 {3, 9}, |
| 712 {3, 8}, | 716 {3, 8}, |
| 713 {4, 100}, | 717 {4, 100}, |
| 714 {4, 11}, | 718 {4, 11}, |
| 715 } | 719 } |
| 716 | 720 |
| 717 for i, pm := range vals { | 721 for i, pm := range vals { |
| 718 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) | 722 So(pm["Value"][0].Value(), Shoul
dEqual, expect[i].val) |
| 719 » » » » » » So(pm.GetMetaDefault("key", nil)
, ShouldResemble, ds.MakeKey("Parent", 1, "Foo", expect[i].id)) | 723 » » » » » » So(datastore.GetMetaDefault(pm,
"key", nil), ShouldResemble, |
| 724 » » » » » » » ds.MakeKey("Parent", 1,
"Foo", expect[i].id)) |
| 720 } | 725 } |
| 721 | 726 |
| 722 return nil | 727 return nil |
| 723 }, nil), ShouldBeNil) | 728 }, nil), ShouldBeNil) |
| 724 }) | 729 }) |
| 725 | 730 |
| 726 Convey("buffered entity sorts before ineq, but after fir
st parent entity", func() { | 731 Convey("buffered entity sorts before ineq, but after fir
st parent entity", func() { |
| 727 // If we got this wrong, we'd see Foo,3 come bef
ore Foo,2. This might | 732 // If we got this wrong, we'd see Foo,3 come bef
ore Foo,2. This might |
| 728 // happen because we calculate the comparison st
ring for each entity | 733 // happen because we calculate the comparison st
ring for each entity |
| 729 // based on the whole entity, but we forgot to l
imit the comparison | 734 // based on the whole entity, but we forgot to l
imit the comparison |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 866 So(val[len(val)-1].Value(), ShouldResemb
le, "wat") | 871 So(val[len(val)-1].Value(), ShouldResemb
le, "wat") |
| 867 return true | 872 return true |
| 868 }), ShouldBeNil) | 873 }), ShouldBeNil) |
| 869 }) | 874 }) |
| 870 | 875 |
| 871 }) | 876 }) |
| 872 | 877 |
| 873 }) | 878 }) |
| 874 | 879 |
| 875 } | 880 } |
| OLD | NEW |