mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
made add* and get* methods private
This commit is contained in:
parent
0cf2ddb086
commit
7f52ff759e
3 changed files with 35 additions and 37 deletions
|
|
@ -106,7 +106,7 @@ func (service *Service) MetaWatcher() {
|
|||
if key == "frame" {
|
||||
for _, frame_ref := range database_attr_ref.Nodes {
|
||||
frame_name := frame_ref.Key[len(database_attr_ref.Key)+1:]
|
||||
frame := database.AddFrame(frame_name)
|
||||
frame := database.GetOrCreateFrame(frame_name)
|
||||
for _, frame_attr_ref := range frame_ref.Nodes {
|
||||
key = frame_attr_ref.Key[len(frame_ref.Key)+1:]
|
||||
if key == "slice" {
|
||||
|
|
@ -116,7 +116,7 @@ func (service *Service) MetaWatcher() {
|
|||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
slice := database.AddSlice(slice_id)
|
||||
slice := database.GetOrCreateSlice(slice_id)
|
||||
for _, slice_attr_ref := range slice_ref.Nodes {
|
||||
key = slice_attr_ref.Key[len(slice_ref.Key)+1:]
|
||||
if key == "fragment" {
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package db
|
|||
|
||||
import (
|
||||
"github.com/stathat/consistent"
|
||||
//"github.com/davecgh/go-spew/spew"
|
||||
"github.com/davecgh/go-spew/spew"
|
||||
"github.com/nu7hatch/gouuid"
|
||||
"log"
|
||||
"fmt"
|
||||
|
|
@ -130,9 +130,7 @@ type Frame struct {
|
|||
}
|
||||
|
||||
// Get a frame from a database
|
||||
func (d *Database) GetFrame(name string) (*Frame, error) {
|
||||
d.mutex.Lock()
|
||||
defer d.mutex.Unlock()
|
||||
func (d *Database) getFrame(name string) (*Frame, error) {
|
||||
for _, frame := range d.frames {
|
||||
if frame.name == name {
|
||||
return frame, nil
|
||||
|
|
@ -142,9 +140,7 @@ func (d *Database) GetFrame(name string) (*Frame, error) {
|
|||
}
|
||||
|
||||
// Add a frame to a database
|
||||
func (d *Database) AddFrame(name string) *Frame {
|
||||
d.mutex.Lock()
|
||||
defer d.mutex.Unlock()
|
||||
func (d *Database) addFrame(name string) *Frame {
|
||||
frame := Frame{name: name}
|
||||
d.frames = append(d.frames, &frame)
|
||||
// add intersections
|
||||
|
|
@ -157,11 +153,11 @@ func (d *Database) AddFrame(name string) *Frame {
|
|||
func (d *Database) GetOrCreateFrame(name string) *Frame {
|
||||
d.mutex.Lock()
|
||||
defer d.mutex.Unlock()
|
||||
frame, err := d.GetFrame(name)
|
||||
frame, err := d.getFrame(name)
|
||||
if err == nil {
|
||||
return frame
|
||||
}
|
||||
return d.AddFrame(name)
|
||||
return d.addFrame(name)
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -173,9 +169,7 @@ type Slice struct {
|
|||
}
|
||||
|
||||
// Get a slice from a database
|
||||
func (d *Database) GetSlice(slice_id int) (*Slice, error) {
|
||||
d.mutex.Lock()
|
||||
defer d.mutex.Unlock()
|
||||
func (d *Database) getSlice(slice_id int) (*Slice, error) {
|
||||
for _, slice := range d.slices {
|
||||
if slice.id == slice_id {
|
||||
return slice, nil
|
||||
|
|
@ -185,9 +179,7 @@ func (d *Database) GetSlice(slice_id int) (*Slice, error) {
|
|||
}
|
||||
|
||||
// Add a slice to a database
|
||||
func (d *Database) AddSlice(slice_id int) *Slice {
|
||||
d.mutex.Lock()
|
||||
defer d.mutex.Unlock()
|
||||
func (d *Database) addSlice(slice_id int) *Slice {
|
||||
slice := Slice{id: slice_id}
|
||||
d.slices = append(d.slices, &slice)
|
||||
// add intersections
|
||||
|
|
@ -200,11 +192,11 @@ func (d *Database) AddSlice(slice_id int) *Slice {
|
|||
func (d *Database) GetOrCreateSlice(slice_id int) *Slice {
|
||||
d.mutex.Lock()
|
||||
defer d.mutex.Unlock()
|
||||
slice, err := d.GetSlice(slice_id)
|
||||
slice, err := d.getSlice(slice_id)
|
||||
if err == nil {
|
||||
return slice
|
||||
}
|
||||
return d.AddSlice(slice_id)
|
||||
return d.addSlice(slice_id)
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -246,6 +238,8 @@ func (fsi *FrameSliceIntersect) GetFragment(fragment_id *uuid.UUID) (*Fragment,
|
|||
func (fsi *FrameSliceIntersect) AddFragment(fragment *Fragment) {
|
||||
fsi.fragments = append(fsi.fragments, fragment)
|
||||
fsi.hashring.Add(fragment.id.String())
|
||||
spew.Dump("DUMPY")
|
||||
spew.Dump(fragment.id.String())
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -263,7 +257,7 @@ func (d *Database) OldGetFragment(bitmap Bitmap, profile_id int) (*Fragment, err
|
|||
d.mutex.Lock()
|
||||
defer d.mutex.Unlock()
|
||||
slice, _ := d.GetSliceForProfile(profile_id)
|
||||
frame, _ := d.GetFrame(bitmap.FrameType)
|
||||
frame, _ := d.getFrame(bitmap.FrameType)
|
||||
fsi, err := d.GetFrameSliceIntersect(frame, slice)
|
||||
frag_id_s, err := fsi.hashring.Get(fmt.Sprintf("%d", bitmap.Id))
|
||||
frag_id, err := uuid.ParseHex(frag_id_s)
|
||||
|
|
@ -277,7 +271,7 @@ func (d *Database) OldGetFragment(bitmap Bitmap, profile_id int) (*Fragment, err
|
|||
/*
|
||||
// NOT IMPLEMENTED
|
||||
// this would loop through all frame_slice_intersect[], then all fragmments to find a match
|
||||
func (d *Database) GetFragment(fragment_id *uuid.UUID) *Fragment {
|
||||
func (d *Database) GetFragmentById(fragment_id *uuid.UUID) *Fragment {
|
||||
}
|
||||
*/
|
||||
func (d *Database) GetFragment(frame *Frame, slice *Slice, fragment_id *uuid.UUID) (*Fragment, error) {
|
||||
|
|
@ -354,7 +348,7 @@ func (f *Fragment) SetProcess(process *Process) {
|
|||
// Get a slice from a database
|
||||
func (d *Database) GetSliceForProfile(profile_id int) (*Slice, error) {
|
||||
slice_id := profile_id / SLICE_WIDTH
|
||||
return d.GetSlice(slice_id)
|
||||
return d.getSlice(slice_id)
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -24,13 +24,18 @@ func TestTopology(t *testing.T) {
|
|||
*/
|
||||
|
||||
cluster := NewCluster()
|
||||
database := cluster.AddDatabase("property49")
|
||||
database.AddFrame("general")
|
||||
//database.AddFrame("brands")
|
||||
database.AddSlice(0)
|
||||
database.AddSlice(1)
|
||||
//database.AddSlice()
|
||||
database := cluster.AddDatabase("main")
|
||||
|
||||
frame := database.GetOrCreateFrame("general")
|
||||
slice := database.GetOrCreateSlice(0)
|
||||
|
||||
fragment_id, _ := uuid.ParseHex("6a9aea17-2915-4eb4-858f-a8d7d4dc0a1e")
|
||||
spew.Dump(fragment_id)
|
||||
database.AddFragment(frame, slice, fragment_id)
|
||||
|
||||
|
||||
spew.Dump(database)
|
||||
/*
|
||||
log.Println(database)
|
||||
log.Println("----------------------------------")
|
||||
for _, fsi := range database.frame_slice_intersects {
|
||||
|
|
@ -38,12 +43,10 @@ func TestTopology(t *testing.T) {
|
|||
}
|
||||
num_slices, _ := database.NumSlices()
|
||||
log.Println(num_slices)
|
||||
*/
|
||||
|
||||
|
||||
frame, _ := database.GetFrame("general")
|
||||
slice, _ := database.GetSlice(0)
|
||||
log.Println(frame)
|
||||
log.Println(slice)
|
||||
//frame, _ := database.GetFrame("general")
|
||||
//slice, _ := database.GetSlice(0)
|
||||
|
||||
//loc1, _ := NewLocation("192.168.1.100:8001")
|
||||
/*
|
||||
|
|
@ -61,8 +64,9 @@ func TestTopology(t *testing.T) {
|
|||
database.AddFragment(frame, slice, loc1, 4)
|
||||
*/
|
||||
|
||||
uuid, _ := uuid.ParseHex("6a9aea17-2915-4eb4-858f-a8d7d4dc0a1e")
|
||||
database.AddFragment(frame, slice, uuid)
|
||||
//uuid, _ := uuid.ParseHex("6a9aea17-2915-4eb4-858f-a8d7d4dc0a1e")
|
||||
//spew.Dump(uuid)
|
||||
////database.AddFragment(frame, slice, uuid)
|
||||
/*
|
||||
database.AddFragment(frame, slice, process)
|
||||
database.AddFragment(frame, slice, process)
|
||||
|
|
@ -86,8 +90,8 @@ func TestTopology(t *testing.T) {
|
|||
log.Println(errer)
|
||||
*/
|
||||
|
||||
bitmap := Bitmap{Id: 555, FrameType: "general"}
|
||||
log.Println("bitmap:",bitmap)
|
||||
////bitmap := Bitmap{Id: 555, FrameType: "general"}
|
||||
////log.Println("bitmap:",bitmap)
|
||||
|
||||
/*
|
||||
profile_id := 65535
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue