Skip to main content

Crate surrealdb_ast

Crate surrealdb_ast 

Source
Expand description

§Surrealdb AST

This crate is the internal library of SurrealDB. It contains the implemention of the surrealql abstract syntax tree.

Unstable!

This crate is SurrealDB internal API. It does not adhere to SemVer and its API is free to change and break code even between patch versions. If you are looking for a stable interface to the SurrealDB library please have a look at the Rust SDK.

Macros§

ast_dbg
Debug macro that can pretty format ast types.

Structs§

Access
AccessGrant
AccessPurge
AccessRevoke
AccessShow
AllPresentPlace
AlterAccess
AlterAnalyzer
AlterApi
AlterBucket
AlterConfig
AlterDatabase
AlterEvent
AlterField
AlterFunction
AlterIndex
AlterMethodApiActions
AlterNamespace
AlterParam
AlterSequence
AlterSystem
AlterTable
AlterUser
ApiAction
ApiMiddleware
Array
ArrayLikeType
Assignment
BasicLookup
BearerAccess
BinaryExpr
Block
BytesLit
Closure
CountIndex
Create
Decimal
Decimal represents a 128 bit representation of a fixed-precision decimal number. The finite set of values of type Decimal are of the form m / 10e, where m is an integer such that -296 < m < 296, and e is an integer between 0 and 28 inclusive.
DefineAccess
DefineAnalyzer
DefineApi
DefineBucket
DefineConfig
DefineConfigApi
DefineConfigDefault
DefineConfigGraphql
DefineDatabase
DefineEvent
DefineEventAsync
DefineField
DefineFunction
DefineIndex
DefineMethodApiActions
DefineModule
DefineNamespace
DefineParam
DefineSequence
DefineTable
DefineUser
Delete
Destructure
DiskAnnIndex
Parsed DISKANN index options from a DEFINE INDEX statement.
Explain
FieldPermissions
FileLit
For
FullTextIndex
GeometryType
HnswIndex
Ident
IdentListType
IdiomExpr
If
IndexPlace
IndexPresentPlace
Info
Insert
InsertTuples
Integer
JsFunction
JsFunctionBody
Jwt
JwtIssue
Kill
LastPresentPlace
Let
Library
Type containing all the possible node types.
LitArrayType
LitObjectType
LitObjectTypeEntry
LookupSubjectRange
LookupSubjectTable
MemberPlace
MemberPresentPlace
Mock
NgramMapper
NodeId
NodeList
A struct for a linked list of nodes.
NodeListId
An id for a linked list of nodes.
Object
ObjectEntry
OptionStmt
Order
Param
Parameter
Path
Point
PostfixExpr
PrefixExpr
Query
Rebuild
RecordAccess
RecordId
RecordIdKeyRange
Recurse
Regex
Relate
RelationTable
RemoveAccess
RemoveAnalyzer
RemoveApi
RemoveBucket
RemoveConfig
RemoveDatabase
RemoveEvent
RemoveField
RemoveFunction
RemoveIndex
RemoveModule
RemoveNamespace
RemoveParam
RemoveSequence
RemoveTable
RemoveUser
Return
Select
SelectLookup
Selector
Set
Show
Spanned
StringLit
TablePermissions
Transaction
Update
Upsert
Use
Uuid
A Universally Unique Identifier (UUID).
Version

Enums§

AccessKind
AccessRevokeKind
AccessShowKind
AccessSubject
AccessType
Algorithm
AlterKind
AssignmentOp
Base
BearerAccessSubject
BinaryOperator
Builtin
ChangeFeed
DefineConfigKind
DefineKind
DestructureOperator
Direction
Distance
ExplainClause
ExplainFormat
Expr
FieldDefault
Fields
Filter
FullTextScoring
FunctionConfig
GeometrySubType
GraphqlIntrospection
Group
IdiomOperator
Index
InfoKind
InsertData
InsertInto
JwtVerify
KillKind
ListSelector
Lookup
LookupSubject
MatchesOperator
MockKind
ModuleName
OnDelete
OrderBy
OrderDirection
Output
PathSegment
Permission
Place
PostfixOperator
PrefixOperator
PresentPlace
PrimeType
PurgeKind
RecordData
RecordIdKey
RecordIdKeyGenerate
RecurseKind
RemoveConfigKind
Schema
ShowSince
ShowTarget
Sign
TableKind
TablesConfig
TopLevelExpr
Type
UseKind
The namespace and database are expressions, not identifiers: a name may be computed, as it may anywhere else a resource is named (USE DB $db, USE DB type::string(..)). Evaluation coerces the result to a string.
UserSecret
VectorType
WithIndex

Traits§

AstSpan
Trait for types which have an ast, possibly needing access to the full ast to calculate.
Node
Trait for types which can be part of the ast.
UniqueNode
Trait for types which can be part of the ast in a hash-consed set.

Type Aliases§

Ast
DateTime