orientdb

package
v0.0.0-...-b4bb62b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FilterToExpression

func FilterToExpression(f *filters.Filter, normalizeKey func(string) string) string

FilterToExpression returns a OrientDB select expression based on filters

Types

type ClassDefinition

type ClassDefinition struct {
	Name         string     `json:"name"`
	SuperClass   string     `json:"superClass,omitempty"`
	SuperClasses []string   `json:"superClasses,omitempty"`
	Abstract     bool       `json:"abstract"`
	StrictMode   bool       `json:"strictmode"`
	Alias        string     `json:"alias,omitempty"`
	Properties   []Property `json:"properties,omitempty"`
	Indexes      []Index    `json:"indexes,omitempty"`
}

ClassDefinition describes a OrientDB class definition easyjson:json

type Client

type Client struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

Client describes a OrientDB client database

func NewClient

func NewClient(url string, database string, username string, password string) (*Client, error)

NewClient creates a new OrientDB database client

func (*Client) AddEventListener

func (c *Client) AddEventListener(listener storage.EventListener)

AddEventListener add event listener

func (*Client) AlterProperty

func (c *Client) AlterProperty(className string, prop Property) error

AlterProperty modify a property

func (*Client) Connect

func (c *Client) Connect() error

Connect to the OrientDB server

func (*Client) CreateClass

func (c *Client) CreateClass(class ClassDefinition) error

CreateClass creates a new class

func (*Client) CreateDatabase

func (c *Client) CreateDatabase() (*Result, error)

CreateDatabase creates the root OrientDB Document

func (*Client) CreateDocument

func (c *Client) CreateDocument(doc interface{}) (*Result, error)

CreateDocument creates an OrientDB document

func (*Client) CreateDocumentClass

func (c *Client) CreateDocumentClass(class ClassDefinition) error

CreateDocumentClass creates a new OrientDB document class

func (*Client) CreateIndex

func (c *Client) CreateIndex(className string, index Index) error

CreateIndex creates a new Index

func (*Client) CreateProperty

func (c *Client) CreateProperty(className string, prop Property) error

CreateProperty creates a new class property

func (*Client) DeleteDocument

func (c *Client) DeleteDocument(id string) error

DeleteDocument delete an OrientDB document

func (*Client) DeleteDocumentClass

func (c *Client) DeleteDocumentClass(name string) error

DeleteDocumentClass delete an OrientDB document class

func (*Client) GetDatabase

func (c *Client) GetDatabase() (*Result, error)

GetDatabase returns the root OrientDB document

func (*Client) GetDocument

func (c *Client) GetDocument(id string) (*Result, error)

GetDocument retrieve a specific OrientDB document

func (*Client) GetDocumentClass

func (c *Client) GetDocumentClass(name string) (*DocumentClass, error)

GetDocumentClass returns an OrientDB document class

func (*Client) Query

func (c *Client) Query(obj string, query *filters.SearchQuery) (*Result, error)

Query the OrientDB based on filters

func (*Client) Request

func (c *Client) Request(method string, url string, body io.Reader) (*http.Response, error)

Request send a request to the OrientDB server

func (*Client) SQL

func (c *Client) SQL(query string) (*Result, error)

SQL Simple Query Language, send a query to the OrientDB server

func (*Client) Upsert

func (c *Client) Upsert(class string, doc interface{}, idkey string, idval string) (*Result, error)

Upsert updates or insert a key in an OrientDB document

type ClientInterface

type ClientInterface interface {
	Request(method string, url string, body io.Reader) (*http.Response, error)
	DeleteDocument(id string) error
	GetDocument(id string) (*Result, error)
	CreateDocument(doc interface{}) (*Result, error)
	Upsert(class string, doc interface{}, idkey string, idval string) (*Result, error)
	GetDocumentClass(name string) (*DocumentClass, error)
	AlterProperty(className string, prop Property) error
	CreateProperty(className string, prop Property) error
	CreateClass(class ClassDefinition) error
	CreateIndex(className string, index Index) error
	CreateDocumentClass(class ClassDefinition) error
	DeleteDocumentClass(name string) error
	GetDatabase() (*Result, error)
	CreateDatabase() (*Result, error)
	SQL(query string) (*Result, error)
	Query(obj string, query *filters.SearchQuery) (*Result, error)
	Connect() error
	AddEventListener(listener storage.EventListener)
}

ClientInterface describes the mechanism API of OrientDB database client

type DocumentClass

type DocumentClass struct {
	Class ClassDefinition `json:"class"`
}

DocumentClass describes OrientDB document easyjson:json

type Error

type Error struct {
	Code    int    `json:"code"`
	Reason  int    `json:"reason"`
	Content string `json:"content"`
}

Error describes a OrientDB error easyjson:json

type Errors

type Errors struct {
	Errors []Error `json:"errors"`
}

Errors describes a list of OrientDB errors easyjson:json

type Index

type Index struct {
	Name   string   `json:"name"`
	Type   string   `json:"type"`
	Fields []string `json:"fields"`
}

Index describes a OrientDB index easyjson:json

type Property

type Property struct {
	Name        string `json:"name,omitempty"`
	Type        string `json:"type,omitempty"`
	LinkedType  string `json:"linkedType,omitempty"`
	LinkedClass string `json:"linkedClass,omitempty"`
	Mandatory   bool   `json:"mandatory"`
	NotNull     bool   `json:"notNull"`
	ReadOnly    bool   `json:"readonly"`
	Collate     string `json:"collate,omitempty"`
	Regexp      string `json:"regexp,omitempty"`
}

Property describes a OrientDB property easyjson:json

type Result

type Result struct {
	Body []byte
}

Result describes an orientdb request result

type Session

type Session struct {
	// contains filtered or unexported fields
}

Session describes a OrientDB client session

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL