Documentation
¶
Index ¶
- Constants
- type FeatureNotSupportedError
- type InputPosition
- type Neo4jError
- func (e *Neo4jError) Category() string
- func (e *Neo4jError) Classification() string
- func (e *Neo4jError) Error() string
- func (e *Neo4jError) IsAuthenticationFailed() bool
- func (e *Neo4jError) IsRetriableCluster() bool
- func (e *Neo4jError) IsRetriableTransient() bool
- func (e *Neo4jError) Title() string
- type Notification
- type Plan
- type ProfiledPlan
- type ProtocolError
- type ProtocolVersion
- type Record
- type StatementType
- type Summary
- type UnsupportedTypeError
Constants ¶
const ( NodesCreated = "nodes-created" NodesDeleted = "nodes-deleted" RelationshipsCreated = "relationships-created" RelationshipsDeleted = "relationships-deleted" PropertiesSet = "properties-set" LabelsAdded = "labels-added" LabelsRemoved = "labels-removed" IndexesAdded = "indexes-added" IndexesRemoved = "indexes-removed" ConstraintsAdded = "constraints-added" ConstraintsRemoved = "constraints-removed" SystemUpdates = "system-updates" )
Counter key names
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FeatureNotSupportedError ¶
func (*FeatureNotSupportedError) Error ¶
func (e *FeatureNotSupportedError) Error() string
type InputPosition ¶
type InputPosition struct {
// Offset contains the character offset referred to by this position; offset numbers start at 0.
Offset int
// Line contains the line number referred to by this position; line numbers start at 1.
Line int
// Column contains the column number referred to by this position; column numbers start at 1.
Column int
}
InputPosition contains information about a specific position in a statement
type Neo4jError ¶
Neo4jError is created when the database server failed to fulfill request.
func (*Neo4jError) Category ¶
func (e *Neo4jError) Category() string
func (*Neo4jError) Classification ¶
func (e *Neo4jError) Classification() string
func (*Neo4jError) Error ¶
func (e *Neo4jError) Error() string
func (*Neo4jError) IsAuthenticationFailed ¶
func (e *Neo4jError) IsAuthenticationFailed() bool
func (*Neo4jError) IsRetriableCluster ¶
func (e *Neo4jError) IsRetriableCluster() bool
func (*Neo4jError) IsRetriableTransient ¶
func (e *Neo4jError) IsRetriableTransient() bool
func (*Neo4jError) Title ¶
func (e *Neo4jError) Title() string
type Notification ¶
type Notification struct {
// Code contains a notification code for the discovered issue of this notification.
Code string
// Title contains a short summary of this notification.
Title string
// Description contains a longer description of this notification.
Description string
// Position contains the position in the statement where this notification points to.
// Not all notifications have a unique position to point to and in that case the position would be set to nil.
Position *InputPosition
// Severity contains the severity level of this notification.
Severity string
}
Notification represents notifications generated when executing a statement. A notification can be visualized in a client pinpointing problems or other information about the statement.
type Plan ¶
type Plan struct {
// Operator is the operation this plan is performing.
Operator string
// Arguments for the operator.
// Many operators have arguments defining their specific behavior. This map contains those arguments.
Arguments map[string]any
// List of identifiers used by this plan. Identifiers used by this part of the plan.
// These can be both identifiers introduced by you, or automatically generated.
Identifiers []string
// Zero or more child plans. A plan is a tree, where each child is another plan.
// The children are where this part of the plan gets its input records - unless this is an operator that
// introduces new records on its own.
Children []Plan
}
Plan describes the actual plan that the database planner produced and used (or will use) to execute your statement. This can be extremely helpful in understanding what a statement is doing, and how to optimize it. For more details, see the Neo4j Manual. The plan for the statement is a tree of plans - each sub-tree containing zero or more child plans. The statement starts with the root plan. Each sub-plan is of a specific operator, which describes what that part of the plan does - for instance, perform an index lookup or filter results. The Neo4j Manual contains a reference of the available operator types, and these may differ across Neo4j versions.
type ProfiledPlan ¶
type ProfiledPlan struct {
// Operator contains the operation this plan is performing.
Operator string
// Arguments contains the arguments for the operator used.
// Many operators have arguments defining their specific behavior. This map contains those arguments.
Arguments map[string]any
// Identifiers contains a list of identifiers used by this plan. Identifiers used by this part of the plan.
// These can be both identifiers introduced by you, or automatically generated.
Identifiers []string
// DbHits contains the number of times this part of the plan touched the underlying data stores/
DbHits int64
// Records contains the number of records this part of the plan produced.
Records int64
// Children contains zero or more child plans. A plan is a tree, where each child is another plan.
// The children are where this part of the plan gets its input records - unless this is an operator that
// introduces new records on its own.
Children []ProfiledPlan
PageCacheMisses int64
PageCacheHits int64
PageCacheHitRatio float64
Time int64
}
ProfiledPlan is the same as a regular Plan - except this plan has been executed, meaning it also contains detailed information about how much work each step of the plan incurred on the database.
type ProtocolError ¶
func (*ProtocolError) Error ¶
func (e *ProtocolError) Error() string
type ProtocolVersion ¶
type Record ¶
type Record struct {
// Values contains all the values in the record.
Values []any
// Keys contains names of the values in the record.
// Should not be modified. Same instance is used for all records within the same result.
Keys []string
}
func (Record) Get ¶
Get returns the value corresponding to the given key along with a boolean that is true if a value was found and false if there were no key with the given name.
If there are a lot of keys in combination with a lot of records to iterate, consider to retrieve values from Values slice directly or make a key -> index map before iterating. This implementation does not make or use a key -> index map since the overhead of making the map might not be beneficial for small and few records.
type StatementType ¶
type StatementType int
Definitions of these should correspond to public API
const ( StatementTypeUnknown StatementType = 0 StatementTypeRead StatementType = 1 StatementTypeReadWrite StatementType = 2 StatementTypeWrite StatementType = 3 StatementTypeSchemaWrite StatementType = 4 )
type UnsupportedTypeError ¶
func (*UnsupportedTypeError) Error ¶
func (e *UnsupportedTypeError) Error() string