libneo4j-client-2.2.0
|
#include <stdlib.h>
#include <stdint.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/uio.h>
Data Structures | |
struct | neo4j_logger |
A logger for neo4j client. More... | |
struct | neo4j_logger_provider |
A provider for a neo4j logger. More... | |
struct | neo4j_iostream |
An I/O stream for neo4j client. More... | |
struct | neo4j_connection_factory |
A factory for establishing communications with neo4j. More... | |
struct | neo4j_memory_allocator |
A memory allocator for neo4j client. More... | |
struct | neo4j_value_t |
A neo4j value. More... | |
struct | neo4j_map_entry_t |
An entry in a neo4j map. More... | |
struct | neo4j_failure_details |
Failure details. More... | |
struct | neo4j_update_counts |
Update counts. More... | |
struct | neo4j_statement_plan |
The plan (or profile) for an evaluated statement. More... | |
struct | neo4j_statement_execution_step |
An execution step in a plan (or profile) for an evaluated statement. More... | |
Typedefs | |
typedef struct neo4j_config | neo4j_config_t |
Configuration for neo4j client. | |
typedef struct neo4j_connection | neo4j_connection_t |
A connection to a neo4j server. | |
typedef struct neo4j_result_stream | neo4j_result_stream_t |
A stream of results from a job. | |
typedef struct neo4j_result | neo4j_result_t |
A result from a job. | |
typedef uint8_t | neo4j_type_t |
A neo4j value type. | |
typedef ssize_t(* | neo4j_password_callback_t) (void *userdata, char *buf, size_t len) |
Function type for callback when a passwords is required. More... | |
typedef int(* | neo4j_basic_auth_callback_t) (void *userdata, const char *host, char *username, size_t usize, char *password, size_t psize) |
Function type for callback when username and/or password is required. More... | |
typedef int(* | neo4j_unverified_host_callback_t) (void *userdata, const char *host, const char *fingerprint, neo4j_unverified_host_reason_t reason) |
Function type for callback when host verification has failed. More... | |
Functions | |
const char * | libneo4j_client_version (void) |
The version string for libneo4j-client. | |
const char * | libneo4j_client_id (void) |
The default client ID string for libneo4j-client. | |
int | neo4j_client_init (void) |
Initialize the neo4j client library. More... | |
int | neo4j_client_cleanup (void) |
Cleanup after use of the neo4j client library. More... | |
struct neo4j_logger_provider * | neo4j_std_logger_provider (FILE *stream, uint_fast8_t level, uint_fast32_t flags) |
Obtain a standard logger provider. More... | |
void | neo4j_std_logger_provider_free (struct neo4j_logger_provider *provider) |
Free a standard logger provider. More... | |
const char * | neo4j_log_level_str (uint_fast8_t level) |
The name for the logging level. More... | |
void | neo4j_perror (FILE *stream, int errnum, const char *message) |
Print the error message corresponding to an error number. More... | |
const char * | neo4j_strerror (int errnum, char *buf, size_t buflen) |
Look up the error message corresponding to an error number. More... | |
bool | neo4j_instanceof (neo4j_value_t value, neo4j_type_t type) |
Check the type of a neo4j value. More... | |
const char * | neo4j_typestr (neo4j_type_t t) |
Get a string description of the neo4j type. More... | |
char * | neo4j_tostring (neo4j_value_t value, char *strbuf, size_t n) |
Get a string representation of a neo4j value. More... | |
size_t | neo4j_ntostring (neo4j_value_t value, char *strbuf, size_t n) |
Get a UTF-8 string representation of a neo4j value. More... | |
ssize_t | neo4j_fprint (neo4j_value_t value, FILE *stream) |
Print a UTF-8 string representation of a neo4j value to a stream. More... | |
bool | neo4j_eq (neo4j_value_t value1, neo4j_value_t value2) |
Compare two neo4j values for equality. More... | |
neo4j_value_t | neo4j_bool (bool value) |
Construct a neo4j value encoding a boolean. More... | |
bool | neo4j_bool_value (neo4j_value_t value) |
Return the native boolean value from a neo4j boolean. More... | |
neo4j_value_t | neo4j_int (long long value) |
Construct a neo4j value encoding an integer. More... | |
long long | neo4j_int_value (neo4j_value_t value) |
Return the native integer value from a neo4j int. More... | |
neo4j_value_t | neo4j_float (double value) |
Construct a neo4j value encoding a double. More... | |
double | neo4j_float_value (neo4j_value_t value) |
Return the native double value from a neo4j float. More... | |
neo4j_value_t | neo4j_ustring (const char *u, unsigned int n) |
Construct a neo4j value encoding a string. More... | |
unsigned int | neo4j_string_length (neo4j_value_t value) |
Return the length of a neo4j UTF-8 string. More... | |
const char * | neo4j_ustring_value (neo4j_value_t value) |
Return a pointer to a UTF-8 string. More... | |
char * | neo4j_string_value (neo4j_value_t value, char *buffer, size_t length) |
Copy a neo4j string to a NULL terminated buffer. More... | |
neo4j_value_t | neo4j_bytes (const char *u, unsigned int n) |
Construct a neo4j value encoding a byte sequence. More... | |
unsigned int | neo4j_bytes_length (neo4j_value_t value) |
Return the length of a neo4j byte sequence. More... | |
const char * | neo4j_bytes_value (neo4j_value_t value) |
Return a pointer to a byte sequence. More... | |
neo4j_value_t | neo4j_list (const neo4j_value_t *items, unsigned int n) |
Construct a neo4j value encoding a list. More... | |
unsigned int | neo4j_list_length (neo4j_value_t value) |
Return the length of a neo4j list (number of entries). More... | |
neo4j_value_t | neo4j_list_get (neo4j_value_t value, unsigned int index) |
Return an element from a neo4j list. More... | |
neo4j_value_t | neo4j_map (const neo4j_map_entry_t *entries, unsigned int n) |
Construct a neo4j value encoding a map. More... | |
unsigned int | neo4j_map_size (neo4j_value_t value) |
Return the size of a neo4j map (number of entries). More... | |
const neo4j_map_entry_t * | neo4j_map_getentry (neo4j_value_t value, unsigned int index) |
Return an entry from a neo4j map. More... | |
neo4j_value_t | neo4j_map_kget (neo4j_value_t value, neo4j_value_t key) |
Return a value from a neo4j map. More... | |
neo4j_map_entry_t | neo4j_map_kentry (neo4j_value_t key, neo4j_value_t value) |
Constrct a neo4j map entry using a value key. More... | |
neo4j_value_t | neo4j_node_labels (neo4j_value_t value) |
Return the label list of a neo4j node. More... | |
neo4j_value_t | neo4j_node_properties (neo4j_value_t value) |
Return the property map of a neo4j node. More... | |
neo4j_value_t | neo4j_node_identity (neo4j_value_t value) |
Return the identity of a neo4j node. More... | |
neo4j_value_t | neo4j_relationship_type (neo4j_value_t value) |
Return the type of a neo4j relationship. More... | |
neo4j_value_t | neo4j_relationship_properties (neo4j_value_t value) |
Return the property map of a neo4j relationship. More... | |
neo4j_value_t | neo4j_relationship_identity (neo4j_value_t value) |
Return the identity of a neo4j relationship. More... | |
neo4j_value_t | neo4j_relationship_start_node_identity (neo4j_value_t value) |
Return the start node identity for a neo4j relationship. More... | |
neo4j_value_t | neo4j_relationship_end_node_identity (neo4j_value_t value) |
Return the end node identity for a neo4j relationship. More... | |
unsigned int | neo4j_path_length (neo4j_value_t value) |
Return the length of a neo4j path. More... | |
neo4j_value_t | neo4j_path_get_node (neo4j_value_t value, unsigned int hops) |
Return the node at a given distance into the path. More... | |
neo4j_value_t | neo4j_path_get_relationship (neo4j_value_t value, unsigned int hops, bool *forward) |
Return the relationship for the given hop in the path. More... | |
neo4j_config_t * | neo4j_new_config (void) |
Generate a new neo4j client configuration. More... | |
void | neo4j_config_free (neo4j_config_t *config) |
Release a neo4j client configuration. More... | |
neo4j_config_t * | neo4j_config_dup (const neo4j_config_t *config) |
Duplicate a neo4j client configuration. More... | |
void | neo4j_config_set_client_id (neo4j_config_t *config, const char *client_id) |
Set the client ID. More... | |
const char * | neo4j_config_get_client_id (const neo4j_config_t *config) |
Get the client ID in the neo4j client configuration. More... | |
int | neo4j_config_set_username (neo4j_config_t *config, const char *username) |
Set the username in the neo4j client configuration. More... | |
const char * | neo4j_config_get_username (const neo4j_config_t *config) |
Get the username in the neo4j client configuration. More... | |
int | neo4j_config_set_password (neo4j_config_t *config, const char *password) |
Set the password in the neo4j client configuration. More... | |
int | neo4j_config_set_basic_auth_callback (neo4j_config_t *config, neo4j_basic_auth_callback_t callback, void *userdata) |
Set the basic authentication callback. More... | |
int | neo4j_config_set_TLS_private_key (neo4j_config_t *config, const char *path) |
Set the location of a TLS private key and certificate chain. More... | |
const char * | neo4j_config_get_TLS_private_key (const neo4j_config_t *config) |
Obtain the path to the TLS private key and certificate chain. More... | |
int | neo4j_config_set_TLS_private_key_password_callback (neo4j_config_t *config, neo4j_password_callback_t callback, void *userdata) |
Set the password callback for the TLS private key file. More... | |
int | neo4j_config_set_TLS_private_key_password (neo4j_config_t *config, const char *password) |
Set the password for the TLS private key file. More... | |
int | neo4j_config_set_TLS_ca_file (neo4j_config_t *config, const char *path) |
Set the location of a file containing TLS certificate authorities (and CRLs). More... | |
const char * | neo4j_config_get_TLS_ca_file (const neo4j_config_t *config) |
Obtain the path to the TLS certificate authority file. More... | |
int | neo4j_config_set_TLS_ca_dir (neo4j_config_t *config, const char *path) |
Set the location of a directory of TLS certificate authorities (and CRLs). More... | |
const char * | neo4j_config_get_TLS_ca_dir (const neo4j_config_t *config) |
Obtain the path to the TLS certificate authority directory. More... | |
int | neo4j_config_set_trust_known_hosts (neo4j_config_t *config, bool enable) |
Enable or disable trusting of known hosts. More... | |
bool | neo4j_config_get_trust_known_hosts (const neo4j_config_t *config) |
Check if trusting of known hosts is enabled. More... | |
int | neo4j_config_set_known_hosts_file (neo4j_config_t *config, const char *path) |
Set the location of the known hosts file for TLS certificates. More... | |
const char * | neo4j_config_get_known_hosts_file (const neo4j_config_t *config) |
Obtain the path to the known hosts file. More... | |
int | neo4j_config_set_unverified_host_callback (neo4j_config_t *config, neo4j_unverified_host_callback_t callback, void *userdata) |
Set the unverified host callback. More... | |
int | neo4j_config_set_sndbuf_size (neo4j_config_t *config, size_t size) |
Set the I/O output buffer size. More... | |
size_t | neo4j_config_get_sndbuf_size (const neo4j_config_t *config) |
Get the size for the I/O output buffer. More... | |
int | neo4j_config_set_rcvbuf_size (neo4j_config_t *config, size_t size) |
Set the I/O input buffer size. More... | |
size_t | neo4j_config_get_rcvbuf_size (const neo4j_config_t *config) |
Get the size for the I/O input buffer. More... | |
void | neo4j_config_set_logger_provider (neo4j_config_t *config, struct neo4j_logger_provider *logger_provider) |
Set a logger provider in the neo4j client configuration. More... | |
int | neo4j_config_set_so_sndbuf_size (neo4j_config_t *config, unsigned int size) |
Set the socket send buffer size. More... | |
unsigned int | neo4j_config_get_so_sndbuf_size (const neo4j_config_t *config) |
Get the size for the socket send buffer. More... | |
int | neo4j_config_set_so_rcvbuf_size (neo4j_config_t *config, unsigned int size) |
Set the socket receive buffer size. More... | |
unsigned int | neo4j_config_get_so_rcvbuf_size (const neo4j_config_t *config) |
Get the size for the socket receive buffer. More... | |
void | neo4j_config_set_connection_factory (neo4j_config_t *config, struct neo4j_connection_factory *factory) |
Set a connection factory. More... | |
void | neo4j_config_set_memory_allocator (neo4j_config_t *config, struct neo4j_memory_allocator *allocator) |
Set a memory allocator. More... | |
struct neo4j_memory_allocator * | neo4j_config_get_memory_allocator (const neo4j_config_t *config) |
Get the memory allocator. More... | |
void | neo4j_config_set_max_pipelined_requests (neo4j_config_t *config, unsigned int n) |
Set the maximum number of requests that can be pipelined to the server. More... | |
unsigned int | neo4j_config_get_max_pipelined_requests (const neo4j_config_t *config) |
Get the maximum number of requests that can be pipelined to the server. More... | |
ssize_t | neo4j_dot_dir (char *buffer, size_t n, const char *append) |
Return a path within the neo4j dot directory. More... | |
neo4j_connection_t * | neo4j_connect (const char *uri, neo4j_config_t *config, uint_fast32_t flags) |
Establish a connection to a neo4j server. More... | |
neo4j_connection_t * | neo4j_tcp_connect (const char *hostname, unsigned int port, neo4j_config_t *config, uint_fast32_t flags) |
Establish a connection to a neo4j server. More... | |
int | neo4j_close (neo4j_connection_t *connection) |
Close a connection to a neo4j server. More... | |
const char * | neo4j_connection_hostname (const neo4j_connection_t *connection) |
Get the hostname for a connection. More... | |
unsigned int | neo4j_connection_port (const neo4j_connection_t *connection) |
Get the port for a connection. More... | |
const char * | neo4j_connection_username (const neo4j_connection_t *connection) |
Get the username for a connection. More... | |
bool | neo4j_connection_is_secure (const neo4j_connection_t *connection) |
Check if a given connection uses TLS. More... | |
int | neo4j_reset (neo4j_connection_t *connection) |
Reset a session. More... | |
bool | neo4j_credentials_expired (const neo4j_connection_t *connection) |
Check if the server indicated that credentials have expired. More... | |
const char * | neo4j_server_id (const neo4j_connection_t *connection) |
Get the server ID string. More... | |
neo4j_result_stream_t * | neo4j_run (neo4j_connection_t *connection, const char *statement, neo4j_value_t params) |
Evaluate a statement. More... | |
neo4j_result_stream_t * | neo4j_send (neo4j_connection_t *connection, const char *statement, neo4j_value_t params) |
Evaluate a statement, ignoring any results. More... | |
int | neo4j_check_failure (neo4j_result_stream_t *results) |
Check if a results stream has failed. More... | |
unsigned int | neo4j_nfields (neo4j_result_stream_t *results) |
Get the number of fields in a result stream. More... | |
const char * | neo4j_fieldname (neo4j_result_stream_t *results, unsigned int index) |
Get the name of a field in a result stream. More... | |
neo4j_result_t * | neo4j_fetch_next (neo4j_result_stream_t *results) |
Fetch the next record from the result stream. More... | |
neo4j_result_t * | neo4j_peek (neo4j_result_stream_t *results, unsigned int depth) |
Peek at a record in the result stream. More... | |
int | neo4j_close_results (neo4j_result_stream_t *results) |
Close a result stream. More... | |
const char * | neo4j_error_code (neo4j_result_stream_t *results) |
Return the error code sent from neo4j. More... | |
const char * | neo4j_error_message (neo4j_result_stream_t *results) |
Return the error message sent from neo4j. More... | |
const struct neo4j_failure_details * | neo4j_failure_details (neo4j_result_stream_t *results) |
Return the details of a statement evaluation failure. More... | |
int | neo4j_statement_type (neo4j_result_stream_t *results) |
Return the statement type for the result stream. More... | |
struct neo4j_update_counts | neo4j_update_counts (neo4j_result_stream_t *results) |
Return the update counts for the result stream. More... | |
struct neo4j_statement_plan * | neo4j_statement_plan (neo4j_result_stream_t *results) |
Return the statement plan for the result stream. More... | |
void | neo4j_statement_plan_release (struct neo4j_statement_plan *plan) |
Release a statement plan. More... | |
neo4j_value_t | neo4j_result_field (const neo4j_result_t *result, unsigned int index) |
Get a field from a result. More... | |
neo4j_result_t * | neo4j_retain (neo4j_result_t *result) |
Retain a result. More... | |
void | neo4j_release (neo4j_result_t *result) |
Release a result. More... | |
void | neo4j_config_set_render_nulls (neo4j_config_t *config, bool enable) |
Enable or disable rendering NEO4J_NULL values. More... | |
bool | neo4j_config_get_render_nulls (const neo4j_config_t *config) |
Check if rendering of NEO4J_NULL values is enabled. More... | |
void | neo4j_config_set_render_quoted_strings (neo4j_config_t *config, bool enable) |
Enable or disable quoting of NEO4J_STRING values. More... | |
bool | neo4j_config_get_render_quoted_strings (const neo4j_config_t *config) |
Check if quoting of NEO4J_STRING values is enabled. More... | |
void | neo4j_config_set_render_ascii (neo4j_config_t *config, bool enable) |
Enable or disable rendering in ASCII-only. More... | |
bool | neo4j_config_get_render_ascii (const neo4j_config_t *config) |
Check if ASCII-only rendering is enabled. More... | |
void | neo4j_config_set_render_rowlines (neo4j_config_t *config, bool enable) |
Enable or disable rendering of rowlines in result tables. More... | |
bool | neo4j_config_get_render_rowlines (const neo4j_config_t *config) |
Check if rendering of rowlines is enabled. More... | |
void | neo4j_config_set_render_wrapped_values (neo4j_config_t *config, bool enable) |
Enable or disable wrapping of values in result tables. More... | |
bool | neo4j_config_get_render_wrapped_values (const neo4j_config_t *config) |
Check if wrapping of values in result tables is enabled. More... | |
void | neo4j_config_set_render_wrap_markers (neo4j_config_t *config, bool enable) |
Enable or disable the rendering of wrap markers when wrapping or truncating. More... | |
bool | neo4j_config_get_render_wrap_markers (const neo4j_config_t *config) |
Check if wrap markers will be rendered when wrapping or truncating. More... | |
void | neo4j_config_set_render_inspect_rows (neo4j_config_t *config, unsigned int rows) |
Set the number of results to inspect when determining column widths. More... | |
unsigned int | neo4j_config_get_render_inspect_rows (const neo4j_config_t *config) |
Set the number of results to inspect when determining column widths. More... | |
void | neo4j_config_set_results_table_colors (neo4j_config_t *config, const struct neo4j_results_table_colors *colors) |
Set the colorization rules for rendering of results tables. More... | |
const struct neo4j_results_table_colors * | neo4j_config_get_results_table_colors (const neo4j_config_t *config) |
Get the colorization rules for rendering of results tables. More... | |
void | neo4j_config_set_plan_table_colors (neo4j_config_t *config, const struct neo4j_plan_table_colors *colors) |
Set the colorization rules for rendering of plan tables. More... | |
const struct neo4j_plan_table_colors * | neo4j_config_get_plan_table_colorization (const neo4j_config_t *config) |
Get the colorization rules for rendering of plan tables. More... | |
int | neo4j_render_table (FILE *stream, neo4j_result_stream_t *results, unsigned int width, uint_fast32_t flags) |
Render a result stream as a table. More... | |
int | neo4j_render_results_table (const neo4j_config_t *config, FILE *stream, neo4j_result_stream_t *results, unsigned int width) |
Render a result stream as a table. More... | |
int | neo4j_render_csv (FILE *stream, neo4j_result_stream_t *results, uint_fast32_t flags) |
Render a result stream as comma separated value. More... | |
int | neo4j_render_ccsv (const neo4j_config_t *config, FILE *stream, neo4j_result_stream_t *results) |
Render a result stream as comma separated value. More... | |
int | neo4j_render_plan_table (FILE *stream, struct neo4j_statement_plan *plan, unsigned int width, uint_fast32_t flags) |
Render a statement plan as a table. More... | |
int | neo4j_render_plan_ctable (const neo4j_config_t *config, FILE *stream, struct neo4j_statement_plan *plan, unsigned int width) |
Render a statement plan as a table. More... | |
ssize_t | neo4j_dirname (const char *path, char *buffer, size_t n) |
Obtain the parent directory of a specified path. More... | |
ssize_t | neo4j_basename (const char *path, char *buffer, size_t n) |
Obtain the basename of a specified path. More... | |
int | neo4j_mkdir_p (const char *path) |
Create a directory and any required parent directories. More... | |
int | neo4j_u8clen (const char *s, size_t n) |
Return the number of bytes in a UTF-8 character. More... | |
int | neo4j_u8cwidth (const char *s, size_t n) |
Return the column width of a UTF-8 character. More... | |
int | neo4j_u8codepoint (const char *s, size_t *n) |
Return the Unicode codepoint of a UTF-8 character. More... | |
int | neo4j_u8cpwidth (int cp) |
Return the column width of a Unicode codepoint. More... | |
int | neo4j_u8cswidth (const char *s, size_t n) |
Return the column width of a UTF-8 string. More... | |
neo4j_type_t | neo4j_type (neo4j_value_t value) |
Get the type of a neo4j value. More... | |
bool | neo4j_is_null (neo4j_value_t value) |
Check if a neo4j value is the null value. More... | |
neo4j_value_t | neo4j_string (const char *s) |
Construct a neo4j value encoding a string. More... | |
neo4j_value_t | neo4j_map_get (neo4j_value_t value, const char *key) |
Return a value from a neo4j map. More... | |
neo4j_map_entry_t | neo4j_map_entry (const char *key, neo4j_value_t value) |
Constrct a neo4j map entry. More... | |
Variables | |
const neo4j_type_t | NEO4J_NULL |
The neo4j null value type. More... | |
const neo4j_type_t | NEO4J_BOOL |
The neo4j boolean value type. More... | |
const neo4j_type_t | NEO4J_INT |
The neo4j integer value type. More... | |
const neo4j_type_t | NEO4J_FLOAT |
The neo4j float value type. More... | |
const neo4j_type_t | NEO4J_STRING |
The neo4j string value type. More... | |
const neo4j_type_t | NEO4J_BYTES |
The neo4j bytes value type. More... | |
const neo4j_type_t | NEO4J_LIST |
The neo4j list value type. More... | |
const neo4j_type_t | NEO4J_MAP |
The neo4j map value type. More... | |
const neo4j_type_t | NEO4J_NODE |
The neo4j node value type. More... | |
const neo4j_type_t | NEO4J_RELATIONSHIP |
The neo4j relationship value type. More... | |
const neo4j_type_t | NEO4J_PATH |
The neo4j path value type. More... | |
const neo4j_type_t | NEO4J_IDENTITY |
The neo4j identity value type. More... | |
const neo4j_value_t | neo4j_null |
The neo4j null value. | |
struct neo4j_connection_factory | neo4j_std_connection_factory |
The standard connection factory. | |
const struct neo4j_results_table_colors * | neo4j_results_table_no_colors |
Results table colorization rules for uncolorized table output. More... | |
const struct neo4j_results_table_colors * | neo4j_results_table_ansi_colors |
Results table colorization rules for ANSI terminal output. More... | |
const struct neo4j_plan_table_colors * | neo4j_plan_table_no_colors |
Plan table colorization rules for uncolorized plan table output. More... | |
const struct neo4j_plan_table_colors * | neo4j_plan_table_ansi_colors |
Plan table colorization rules for ANSI terminal output. More... | |
typedef int(* neo4j_basic_auth_callback_t) (void *userdata, const char *host, char *username, size_t usize, char *password, size_t psize) |
Function type for callback when username and/or password is required.
Should update the NULL
terminated strings in the username
and/or password
buffers.
[userdata] | The user data for the callback. |
[host] | The host description (typically "<hostname>:<port>"). |
[username] | A buffer of size usize , possibly containing a NULL terminated default username. |
[usize] | The size of the username buffer. |
[password] | A buffer of size psize , possibly containing a NULL terminated default password. |
[psize] | The size of the password buffer. |
typedef ssize_t(* neo4j_password_callback_t) (void *userdata, char *buf, size_t len) |
Function type for callback when a passwords is required.
Should copy the password into the supplied buffer, and return the actual length of the password.
[userdata] | The user data for the callback. |
[buf] | The buffer to copy the password into. |
[len] | The length of the buffer. |
typedef int(* neo4j_unverified_host_callback_t) (void *userdata, const char *host, const char *fingerprint, neo4j_unverified_host_reason_t reason) |
Function type for callback when host verification has failed.
[userdata] | The user data for the callback. |
[host] | The host description (typically "<hostname>:<port>"). |
[fingerprint] | The fingerprint for the host. |
[reason] | The reason for the verification failure, which will be either NEO4J_HOST_VERIFICATION_UNRECOGNIZED or NEO4J_HOST_VERIFICATION_MISMATCH . |
NEO4J_HOST_VERIFICATION_REJECT
if the host should be rejected, NEO4J_HOST_VERIFICATION_ACCEPT_ONCE
if the host should be accepted for just the one connection, NEO4J_HOST_VERIFICATION_TRUST
if the fingerprint should be stored in the "known hosts" file and thus trusted for future connections, or -1 on error (errno should be set). ssize_t neo4j_basename | ( | const char * | path, |
char * | buffer, | ||
size_t | n | ||
) |
Obtain the basename of a specified path.
[path] | The path. |
[buffer] | A buffer to place the base name into, or NULL . |
[n] | The length of the buffer. |
neo4j_value_t neo4j_bool | ( | bool | value | ) |
Construct a neo4j value encoding a boolean.
[value] | A boolean value. |
bool neo4j_bool_value | ( | neo4j_value_t | value | ) |
Return the native boolean value from a neo4j boolean.
Note that the result is undefined if the value is not of type NEO4J_BOOL.
[value] | The neo4j value |
neo4j_value_t neo4j_bytes | ( | const char * | u, |
unsigned int | n | ||
) |
Construct a neo4j value encoding a byte sequence.
[u] | A pointer to a byte sequence. The pointer must remain valid, and the content unchanged, for the lifetime of the neo4j value. |
[n] | The length of the byte sequence. This must be less than UINT32_MAX in length (and will be truncated otherwise). |
unsigned int neo4j_bytes_length | ( | neo4j_value_t | value | ) |
Return the length of a neo4j byte sequence.
Note that the result is undefined if the value is not of type NEO4J_BYTES.
[value] | The neo4j byte sequence. |
const char* neo4j_bytes_value | ( | neo4j_value_t | value | ) |
Return a pointer to a byte sequence.
The pointer will be to a byte sequence. The length of the sequence can be obtained using neo4j_bytes_length(value).
Note that the result is undefined if the value is not of type NEO4J_BYTES.
[value] | The neo4j byte sequence. |
int neo4j_check_failure | ( | neo4j_result_stream_t * | results | ) |
Check if a results stream has failed.
Note: if the error is NEO4J_STATEMENT_EVALUATION_FAILED
, then additional error information will be available via neo4j_error_message().
[results] | The result stream. |
int neo4j_client_cleanup | ( | void | ) |
Cleanup after use of the neo4j client library.
Whilst it is not necessary to call this function, it can be useful for clearing any allocated memory when testing with tools such as valgrind.
int neo4j_client_init | ( | void | ) |
Initialize the neo4j client library.
This function should be invoked once per application including the neo4j client library.
int neo4j_close | ( | neo4j_connection_t * | connection | ) |
Close a connection to a neo4j server.
[connection] | The connection to close. This pointer will be invalid after the function returns. |
int neo4j_close_results | ( | neo4j_result_stream_t * | results | ) |
Close a result stream.
Closes the result stream and releases all memory held by it, including results and values obtained from it.
neo4j_result_t
objects fetched from this stream, and any values obtained from them, will be invalid and must not be accessed. Doing so will result in undetermined and unstable behaviour. This is true even if this function returns an error.[results] | The result stream. The pointer will be invalid after the function returns. |
neo4j_config_t* neo4j_config_dup | ( | const neo4j_config_t * | config | ) |
Duplicate a neo4j client configuration.
The returned configuration must be later released using neo4j_config_free().
[config] | A pointer to a neo4j client configuration. |
void neo4j_config_free | ( | neo4j_config_t * | config | ) |
Release a neo4j client configuration.
[config] | A pointer to a neo4j client configuration. This pointer will be invalid after the function returns. |
const char* neo4j_config_get_client_id | ( | const neo4j_config_t * | config | ) |
Get the client ID in the neo4j client configuration.
[config] | The neo4j client configuration. |
NULL
if one is not set. const char* neo4j_config_get_known_hosts_file | ( | const neo4j_config_t * | config | ) |
Obtain the path to the known hosts file.
[config] | The neo4j client configuration. |
NULL
if none. unsigned int neo4j_config_get_max_pipelined_requests | ( | const neo4j_config_t * | config | ) |
Get the maximum number of requests that can be pipelined to the server.
[config] | The neo4j client configuration. |
struct neo4j_memory_allocator* neo4j_config_get_memory_allocator | ( | const neo4j_config_t * | config | ) |
Get the memory allocator.
[config] | The neo4j client configuration. |
const struct neo4j_plan_table_colors* neo4j_config_get_plan_table_colorization | ( | const neo4j_config_t * | config | ) |
Get the colorization rules for rendering of plan tables.
[config] | The neo4j client configuration to update. |
size_t neo4j_config_get_rcvbuf_size | ( | const neo4j_config_t * | config | ) |
Get the size for the I/O input buffer.
[config] | The neo4j client configuration. |
bool neo4j_config_get_render_ascii | ( | const neo4j_config_t * | config | ) |
Check if ASCII-only rendering is enabled.
[config] | The neo4j client configuration. |
true
if ASCII-only rendering is enabled, and false
otherwise. unsigned int neo4j_config_get_render_inspect_rows | ( | const neo4j_config_t * | config | ) |
Set the number of results to inspect when determining column widths.
[config] | The neo4j client configuration. |
bool neo4j_config_get_render_nulls | ( | const neo4j_config_t * | config | ) |
Check if rendering of NEO4J_NULL values is enabled.
[config] | The neo4j client configuration. |
true
if rendering of NEO4J_NULL values is enabled, and false
otherwise. bool neo4j_config_get_render_quoted_strings | ( | const neo4j_config_t * | config | ) |
Check if quoting of NEO4J_STRING values is enabled.
[config] | The neo4j client configuration. |
true
if quoting of NEO4J_STRING values is enabled, and false
otherwise. bool neo4j_config_get_render_rowlines | ( | const neo4j_config_t * | config | ) |
Check if rendering of rowlines is enabled.
[config] | The neo4j client configuration. |
true
if rowline rendering is enabled, and false
otherwise. bool neo4j_config_get_render_wrap_markers | ( | const neo4j_config_t * | config | ) |
Check if wrap markers will be rendered when wrapping or truncating.
[config] | The neo4j client configuration. |
true
if wrap markers are enabled, and false
otherwise. bool neo4j_config_get_render_wrapped_values | ( | const neo4j_config_t * | config | ) |
Check if wrapping of values in result tables is enabled.
[config] | The neo4j client configuration. |
true
if wrapping of values is enabled, and false
otherwise. const struct neo4j_results_table_colors* neo4j_config_get_results_table_colors | ( | const neo4j_config_t * | config | ) |
Get the colorization rules for rendering of results tables.
[config] | The neo4j client configuration to update. |
size_t neo4j_config_get_sndbuf_size | ( | const neo4j_config_t * | config | ) |
Get the size for the I/O output buffer.
[config] | The neo4j client configuration. |
unsigned int neo4j_config_get_so_rcvbuf_size | ( | const neo4j_config_t * | config | ) |
Get the size for the socket receive buffer.
[config] | The neo4j client configuration. |
unsigned int neo4j_config_get_so_sndbuf_size | ( | const neo4j_config_t * | config | ) |
Get the size for the socket send buffer.
[config] | The neo4j client configuration. |
const char* neo4j_config_get_TLS_ca_dir | ( | const neo4j_config_t * | config | ) |
Obtain the path to the TLS certificate authority directory.
[config] | The neo4j client configuration. |
NULL
if none. const char* neo4j_config_get_TLS_ca_file | ( | const neo4j_config_t * | config | ) |
Obtain the path to the TLS certificate authority file.
[config] | The neo4j client configuration. |
NULL
if none. const char* neo4j_config_get_TLS_private_key | ( | const neo4j_config_t * | config | ) |
Obtain the path to the TLS private key and certificate chain.
[config] | The neo4j client configuration. |
NULL
if none. bool neo4j_config_get_trust_known_hosts | ( | const neo4j_config_t * | config | ) |
Check if trusting of known hosts is enabled.
[config] | The neo4j client configuration. |
true
if enabled and false
otherwise. const char* neo4j_config_get_username | ( | const neo4j_config_t * | config | ) |
Get the username in the neo4j client configuration.
The returned username will only be valid whilst the configuration is unchanged.
[config] | The neo4j client configuration. |
NULL
if one is not set. int neo4j_config_set_basic_auth_callback | ( | neo4j_config_t * | config, |
neo4j_basic_auth_callback_t | callback, | ||
void * | userdata | ||
) |
Set the basic authentication callback.
If a username and/or password is required for basic authentication and isn't available in the configuration or connection URI, then this callback will be invoked to obtain the username and/or password.
[config] | The neo4j client configuration to update. |
[callback] | The callback to be invoked. |
[userdata] | User data that will be supplied to the callback. |
void neo4j_config_set_client_id | ( | neo4j_config_t * | config, |
const char * | client_id | ||
) |
Set the client ID.
The client ID will be used when identifying the client to neo4j.
[config] | The neo4j client configuration to update. |
[client_id] | The client ID string. This string should remain allocated whilst the config is allocated or if any connections opened with the config remain active. |
void neo4j_config_set_connection_factory | ( | neo4j_config_t * | config, |
struct neo4j_connection_factory * | factory | ||
) |
Set a connection factory.
[config] | The neo4j client configuration to update. |
[factory] | The connection factory. |
int neo4j_config_set_known_hosts_file | ( | neo4j_config_t * | config, |
const char * | path | ||
) |
Set the location of the known hosts file for TLS certificates.
The file, which will be created and maintained by neo4j client, will be used for storing trust information when using "Trust On First Use".
[config] | The neo4j client configuration to update. |
[path] | The path to known hosts file. This string should remain allocated whilst the config is allocated or if any connections opened with the config remain active. |
void neo4j_config_set_logger_provider | ( | neo4j_config_t * | config, |
struct neo4j_logger_provider * | logger_provider | ||
) |
Set a logger provider in the neo4j client configuration.
[config] | The neo4j client configuration to update. |
[logger_provider] | The logger provider function. |
void neo4j_config_set_max_pipelined_requests | ( | neo4j_config_t * | config, |
unsigned int | n | ||
) |
Set the maximum number of requests that can be pipelined to the server.
[config] | The neo4j client configuration to update. |
[n] | The new maximum. |
void neo4j_config_set_memory_allocator | ( | neo4j_config_t * | config, |
struct neo4j_memory_allocator * | allocator | ||
) |
Set a memory allocator.
[config] | The neo4j client configuration to update. |
[allocator] | The memory allocator. |
int neo4j_config_set_password | ( | neo4j_config_t * | config, |
const char * | password | ||
) |
Set the password in the neo4j client configuration.
[config] | The neo4j client configuration to update. |
[password] | The password to authenticate with. The string will be duplicated, and thus may point to temporary memory. |
void neo4j_config_set_plan_table_colors | ( | neo4j_config_t * | config, |
const struct neo4j_plan_table_colors * | colors | ||
) |
Set the colorization rules for rendering of plan tables.
[config] | The neo4j client configuration to update. |
[colors] | Colorization rules for plan tables. The pointer must remain valid until the config (and any duplicates) have been released. |
int neo4j_config_set_rcvbuf_size | ( | neo4j_config_t * | config, |
size_t | size | ||
) |
Set the I/O input buffer size.
[config] | The neo4j client configuration to update. |
[size] | The I/O input buffer size. |
void neo4j_config_set_render_ascii | ( | neo4j_config_t * | config, |
bool | enable | ||
) |
Enable or disable rendering in ASCII-only.
If set to true
, then render output will only use ASCII characters and any non-ASCII characters in values will be escaped. Otherwise, UTF-8 characters will be used, including unicode border drawing characters.
[config] | The neo4j client configuration to update. |
[enable] | true to enable rendering in only ASCII characters, and false to disable this behaviour. |
void neo4j_config_set_render_inspect_rows | ( | neo4j_config_t * | config, |
unsigned int | rows | ||
) |
Set the number of results to inspect when determining column widths.
If set to 0, no inspection will occur.
[config] | The neo4j client configuration to update. |
[rows] | The number of results to inspect. |
void neo4j_config_set_render_nulls | ( | neo4j_config_t * | config, |
bool | enable | ||
) |
Enable or disable rendering NEO4J_NULL values.
If set to true
, then NEO4J_NULL values will be rendered using the string 'null'. Otherwise, they will be blank.
[config] | The neo4j client configuration to update. |
[enable] | true to enable rendering of NEO4J_NULL values, and false to disable this behaviour. |
void neo4j_config_set_render_quoted_strings | ( | neo4j_config_t * | config, |
bool | enable | ||
) |
Enable or disable quoting of NEO4J_STRING values.
If set to true
, then NEO4J_STRING values will be rendered with surrounding quotes.
[config] | The neo4j client configuration to update. |
[enable] | true to enable rendering of NEO4J_STRING values with quotes, and false to disable this behaviour. |
void neo4j_config_set_render_rowlines | ( | neo4j_config_t * | config, |
bool | enable | ||
) |
Enable or disable rendering of rowlines in result tables.
If set to true
, then render output will separate each table row with a rowline.
[config] | The neo4j client configuration to update. |
[enable] | true to enable rowline rendering, and false to disable this behaviour. |
void neo4j_config_set_render_wrap_markers | ( | neo4j_config_t * | config, |
bool | enable | ||
) |
Enable or disable the rendering of wrap markers when wrapping or truncating.
If set to true
, then values that are wrapped or truncated will be rendered with a wrap marker. The default value for this is true
.
[config] | The neo4j client configuration to update. |
[enable] | true to display wrap markers, and false to disable this behaviour. |
void neo4j_config_set_render_wrapped_values | ( | neo4j_config_t * | config, |
bool | enable | ||
) |
Enable or disable wrapping of values in result tables.
If set to true
, then values will be wrapped when rendering tables. Otherwise, they will be truncated.
[config] | The neo4j client configuration to update. |
[enable] | true to enable value wrapping, and false to disable this behaviour. |
void neo4j_config_set_results_table_colors | ( | neo4j_config_t * | config, |
const struct neo4j_results_table_colors * | colors | ||
) |
Set the colorization rules for rendering of results tables.
[config] | The neo4j client configuration to update. |
[colors] | Colorization rules for result tables. The pointer must remain valid until the config (and any duplicates) have been released. |
int neo4j_config_set_sndbuf_size | ( | neo4j_config_t * | config, |
size_t | size | ||
) |
Set the I/O output buffer size.
[config] | The neo4j client configuration to update. |
[size] | The I/O output buffer size. |
int neo4j_config_set_so_rcvbuf_size | ( | neo4j_config_t * | config, |
unsigned int | size | ||
) |
Set the socket receive buffer size.
This is only applicable to the standard connection factory.
[config] | The neo4j client configuration to update. |
[size] | The socket receive buffer size, or 0 to use the system default. |
int neo4j_config_set_so_sndbuf_size | ( | neo4j_config_t * | config, |
unsigned int | size | ||
) |
Set the socket send buffer size.
This is only applicable to the standard connection factory.
[config] | The neo4j client configuration to update. |
[size] | The socket send buffer size, or 0 to use the system default. |
int neo4j_config_set_TLS_ca_dir | ( | neo4j_config_t * | config, |
const char * | path | ||
) |
Set the location of a directory of TLS certificate authorities (and CRLs).
The specified directory should contain the certificates of the trusted CAs and CRLs, named by hash according to the c_rehash
tool.
[config] | The neo4j client configuration to update. |
[path] | The path to the directory of CAs and CRLs. This string should remain allocated whilst the config is allocated or if any connections opened with the config remain active. |
int neo4j_config_set_TLS_ca_file | ( | neo4j_config_t * | config, |
const char * | path | ||
) |
Set the location of a file containing TLS certificate authorities (and CRLs).
The file should contain the certificates of the trusted CAs and CRLs. The file must be in base64 privacy enhanced mail (PEM) format.
[config] | The neo4j client configuration to update. |
[path] | The path to the PEM file containing the trusted CAs and CRLs. This string should remain allocated whilst the config is allocated or if any connections opened with the config remain active. |
int neo4j_config_set_TLS_private_key | ( | neo4j_config_t * | config, |
const char * | path | ||
) |
Set the location of a TLS private key and certificate chain.
[config] | The neo4j client configuration to update. |
[path] | The path to the PEM file containing the private key and certificate chain. This string should remain allocated whilst the config is allocated or if any connections opened with the config remain active. |
int neo4j_config_set_TLS_private_key_password | ( | neo4j_config_t * | config, |
const char * | password | ||
) |
Set the password for the TLS private key file.
This is a simpler alternative to using neo4j_config_set_TLS_private_key_password_callback().
[config] | The neo4j client configuration to update. |
[password] | The password for the certificate file. This string should remain allocated whilst the config is allocated or if any connections opened with the config remain active. |
int neo4j_config_set_TLS_private_key_password_callback | ( | neo4j_config_t * | config, |
neo4j_password_callback_t | callback, | ||
void * | userdata | ||
) |
Set the password callback for the TLS private key file.
[config] | The neo4j client configuration to update. |
[callback] | The callback to be invoked whenever a password for the certificate file is required. |
[userdata] | User data that will be supplied to the callback. |
int neo4j_config_set_trust_known_hosts | ( | neo4j_config_t * | config, |
bool | enable | ||
) |
Enable or disable trusting of known hosts.
When enabled, the neo4j client will check if a host has been previously trusted and stored into the "known hosts" file, and that the host fingerprint still matches the previously accepted value. This is enabled by default.
If verification fails, the callback set with neo4j_config_set_unverified_host_callback() will be invoked.
[config] | The neo4j client configuration to update. |
[enable] | true to enable trusting of known hosts, and false to disable this behaviour. |
int neo4j_config_set_unverified_host_callback | ( | neo4j_config_t * | config, |
neo4j_unverified_host_callback_t | callback, | ||
void * | userdata | ||
) |
Set the unverified host callback.
[config] | The neo4j client configuration to update. |
[callback] | The callback to be invoked whenever a host verification fails. |
[userdata] | User data that will be supplied to the callback. |
int neo4j_config_set_username | ( | neo4j_config_t * | config, |
const char * | username | ||
) |
Set the username in the neo4j client configuration.
[config] | The neo4j client configuration to update. |
[username] | The username to authenticate with. The string will be duplicated, and thus may point to temporary memory. |
neo4j_connection_t* neo4j_connect | ( | const char * | uri, |
neo4j_config_t * | config, | ||
uint_fast32_t | flags | ||
) |
Establish a connection to a neo4j server.
A bitmask of flags may be supplied, which may include:
NEO4J_SERVER_REQUIRES_SECURE_CONNECTION
.If no flags are required, pass 0 or NEO4J_CONNECT_DEFAULT
.
[uri] | A URI describing the server to connect to, which may also include authentication data (which will override any provided in the config). |
[config] | The neo4j client configuration to use for this connection. |
[flags] | A bitmask of flags to control connections. |
neo4j_connection_t
structure, or NULL
on error (errno will be set). const char* neo4j_connection_hostname | ( | const neo4j_connection_t * | connection | ) |
Get the hostname for a connection.
[connection] | The neo4j connection. |
bool neo4j_connection_is_secure | ( | const neo4j_connection_t * | connection | ) |
Check if a given connection uses TLS.
[connection] | The neo4j connection. |
true
if the connection was established over TLS, and false
otherwise. unsigned int neo4j_connection_port | ( | const neo4j_connection_t * | connection | ) |
Get the port for a connection.
[connection] | The neo4j connection. |
const char* neo4j_connection_username | ( | const neo4j_connection_t * | connection | ) |
Get the username for a connection.
[connection] | The neo4j connection. |
NULL
if no username was associated with the connection. bool neo4j_credentials_expired | ( | const neo4j_connection_t * | connection | ) |
Check if the server indicated that credentials have expired.
[connection] | The connection. |
true
if the server indicated that credentials have expired, and false
otherwise. ssize_t neo4j_dirname | ( | const char * | path, |
char * | buffer, | ||
size_t | n | ||
) |
Obtain the parent directory of a specified path.
Any trailing '/' characters are not counted as part of the directory name. If path
is NULL
, the empty string, or contains no '/' characters, the path "." is placed into the result buffer.
[path] | The path. |
[buffer] | A buffer to place the parent directory path into, or NULL . |
[n] | The length of the buffer. |
ssize_t neo4j_dot_dir | ( | char * | buffer, |
size_t | n, | ||
const char * | append | ||
) |
Return a path within the neo4j dot directory.
The neo4j dot directory is typically ".neo4j" within the users home directory. If append is NULL
, then an absoulte path to the home directory is placed into buffer.
[buffer] | The buffer in which to place the path, which will be null terminated. If the buffer is NULL , then the function will still return the length of the path it would have placed into the buffer. |
[n] | The size of the buffer. If the path is too large to place into the buffer (including the terminating '\0' character), an ERANGE error will result. |
[append] | The relative path to append to the dot directory, which may be NULL . |
bool neo4j_eq | ( | neo4j_value_t | value1, |
neo4j_value_t | value2 | ||
) |
Compare two neo4j values for equality.
[value1] | The first neo4j value. |
[value2] | The second neo4j value. |
true
if the two values are equivalent, false
otherwise. const char* neo4j_error_code | ( | neo4j_result_stream_t * | results | ) |
Return the error code sent from neo4j.
When neo4j_check_failure() returns NEO4J_STATEMENT_EVALUATION_FAILED
, then this function can be used to get the error code sent from neo4j.
[results] | The result stream. |
NULL
terminated string reprenting the error code, or NULL
if the stream has not failed or the failure was not NEO4J_STATEMENT_EVALUATION_FAILED
. const char* neo4j_error_message | ( | neo4j_result_stream_t * | results | ) |
Return the error message sent from neo4j.
When neo4j_check_failure() returns NEO4J_STATEMENT_EVALUATION_FAILED
, then this function can be used to get the detailed error message sent from neo4j.
[results] | The result stream. |
NULL
if the stream has not failed or the failure was not NEO4J_STATEMENT_EVALUATION_FAILED
. If returned, the message will be a NULL
terminated string and may contain UTF-8 mutli-byte characters. const struct neo4j_failure_details* neo4j_failure_details | ( | neo4j_result_stream_t * | results | ) |
Return the details of a statement evaluation failure.
When neo4j_check_failure() returns NEO4J_STATEMENT_EVALUATION_FAILED
, then this function can be used to get the details of the failure.
[results] | The result stream. |
NULL
if no failure details were available. neo4j_result_t* neo4j_fetch_next | ( | neo4j_result_stream_t * | results | ) |
Fetch the next record from the result stream.
[results] | The result stream. |
NULL
if the stream is exahusted or an error has occurred (errno will be set). const char* neo4j_fieldname | ( | neo4j_result_stream_t * | results, |
unsigned int | index | ||
) |
Get the name of a field in a result stream.
[results] | The result stream. |
[index] | The field index to get the name of. |
NULL
on error (errno will be set). If returned, the name will be a NULL
terminated string and may contain UTF-8 multi-byte characters. neo4j_value_t neo4j_float | ( | double | value | ) |
Construct a neo4j value encoding a double.
[value] | A double precision floating point value. |
double neo4j_float_value | ( | neo4j_value_t | value | ) |
Return the native double value from a neo4j float.
Note that the result is undefined if the value is not of type NEO4J_FLOAT.
[value] | The neo4j value |
ssize_t neo4j_fprint | ( | neo4j_value_t | value, |
FILE * | stream | ||
) |
Print a UTF-8 string representation of a neo4j value to a stream.
[value] | The neo4j value. |
[stream] | The stream to print to. |
bool neo4j_instanceof | ( | neo4j_value_t | value, |
neo4j_type_t | type | ||
) |
Check the type of a neo4j value.
[value] | The neo4j value. |
[type] | The neo4j type. |
true
if the node is of the specified type and false
otherwise. neo4j_value_t neo4j_int | ( | long long | value | ) |
Construct a neo4j value encoding an integer.
[value] | A signed integer. This must be in the range INT64_MIN to INT64_MAX, or it will be capped to the closest value. |
long long neo4j_int_value | ( | neo4j_value_t | value | ) |
Return the native integer value from a neo4j int.
Note that the result is undefined if the value is not of type NEO4J_INT.
[value] | The neo4j value |
bool neo4j_is_null | ( | neo4j_value_t | value | ) |
Check if a neo4j value is the null value.
[value] | The neo4j value. |
true
if the value is the null value. neo4j_value_t neo4j_list | ( | const neo4j_value_t * | items, |
unsigned int | n | ||
) |
Construct a neo4j value encoding a list.
[items] | An array of neo4j values. The pointer to the items must remain valid, and the content unchanged, for the lifetime of the neo4j value. |
[n] | The length of the array of items. This must be less than UINT32_MAX (or the list will be truncated). |
neo4j_value_t neo4j_list_get | ( | neo4j_value_t | value, |
unsigned int | index | ||
) |
Return an element from a neo4j list.
Note that the result is undefined if the value is not of type NEO4J_LIST.
[value] | The neo4j list. |
[index] | The index of the element to return. |
neo4j_value_t
element, or NULL
if the index is beyond the end of the list. unsigned int neo4j_list_length | ( | neo4j_value_t | value | ) |
Return the length of a neo4j list (number of entries).
Note that the result is undefined if the value is not of type NEO4J_LIST.
[value] | The neo4j list. |
const char* neo4j_log_level_str | ( | uint_fast8_t | level | ) |
The name for the logging level.
[level] | The logging level. |
NULL
terminated ASCII string describing the logging level. neo4j_value_t neo4j_map | ( | const neo4j_map_entry_t * | entries, |
unsigned int | n | ||
) |
Construct a neo4j value encoding a map.
[entries] | An array of neo4j map entries. This pointer must remain valid, and the content unchanged, for the lifetime of the neo4j value. |
[n] | The length of the array of entries. This must be less than UINT32_MAX (or the list of entries will be truncated). |
neo4j_map_entry_t neo4j_map_entry | ( | const char * | key, |
neo4j_value_t | value | ||
) |
Constrct a neo4j map entry.
[key] | The null terminated string key for the entry. |
[value] | The value for the entry. |
neo4j_value_t neo4j_map_get | ( | neo4j_value_t | value, |
const char * | key | ||
) |
Return a value from a neo4j map.
Note that the result is undefined if the value is not of type NEO4J_MAP.
[value] | The neo4j map. |
[key] | The null terminated string key for the entry. |
NULL
if the key is not known. const neo4j_map_entry_t* neo4j_map_getentry | ( | neo4j_value_t | value, |
unsigned int | index | ||
) |
Return an entry from a neo4j map.
Note that the result is undefined if the value is not of type NEO4J_MAP.
[value] | The neo4j map. |
[index] | The index of the entry to return. |
NULL
if the index is too large. neo4j_map_entry_t neo4j_map_kentry | ( | neo4j_value_t | key, |
neo4j_value_t | value | ||
) |
Constrct a neo4j map entry using a value key.
The value key must be of type NEO4J_STRING.
[key] | The key for the entry. |
[value] | The value for the entry. |
neo4j_value_t neo4j_map_kget | ( | neo4j_value_t | value, |
neo4j_value_t | key | ||
) |
Return a value from a neo4j map.
Note that the result is undefined if the value is not of type NEO4J_MAP.
[value] | The neo4j map. |
[key] | The map key. |
NULL
if the key is not known. unsigned int neo4j_map_size | ( | neo4j_value_t | value | ) |
Return the size of a neo4j map (number of entries).
Note that the result is undefined if the value is not of type NEO4J_MAP.
[value] | The neo4j map. |
int neo4j_mkdir_p | ( | const char * | path | ) |
Create a directory and any required parent directories.
Directories are created with default permissions as per the users umask.
[path] | The path of the directory to create. |
neo4j_config_t* neo4j_new_config | ( | void | ) |
Generate a new neo4j client configuration.
The returned configuration must be later released using neo4j_config_free().
NULL
on error (errno will be set). unsigned int neo4j_nfields | ( | neo4j_result_stream_t * | results | ) |
Get the number of fields in a result stream.
[results] | The result stream. |
neo4j_value_t neo4j_node_identity | ( | neo4j_value_t | value | ) |
Return the identity of a neo4j node.
[value] | The neo4j node. |
neo4j_value_t neo4j_node_labels | ( | neo4j_value_t | value | ) |
Return the label list of a neo4j node.
Note that the result is undefined if the value is not of type NEO4J_NODE.
[value] | The neo4j node. |
neo4j_value_t neo4j_node_properties | ( | neo4j_value_t | value | ) |
Return the property map of a neo4j node.
Note that the result is undefined if the value is not of type NEO4J_NODE.
[value] | The neo4j node. |
size_t neo4j_ntostring | ( | neo4j_value_t | value, |
char * | strbuf, | ||
size_t | n | ||
) |
Get a UTF-8 string representation of a neo4j value.
Writes as much of the representation as possible into the buffer, ensuring it is always NULL
terminated.
[value] | The neo4j value. |
[strbuf] | A buffer to write the string representation into. |
[n] | The length of the buffer. |
neo4j_value_t neo4j_path_get_node | ( | neo4j_value_t | value, |
unsigned int | hops | ||
) |
Return the node at a given distance into the path.
Note that the result is undefined if the value is not of type NEO4J_PATH.
[value] | The neo4j path. |
[hops] | The number of hops (distance). |
neo4j_value_t neo4j_path_get_relationship | ( | neo4j_value_t | value, |
unsigned int | hops, | ||
bool * | forward | ||
) |
Return the relationship for the given hop in the path.
Note that the result is undefined if the value is not of type NEO4J_PATH.
[value] | The neo4j path. |
[hops] | The number of hops (distance). |
[forward] | NULL , or a pointer to a boolean which will be set to true if the relationship was traversed in its natural direction and false if it was traversed backward. |
unsigned int neo4j_path_length | ( | neo4j_value_t | value | ) |
Return the length of a neo4j path.
The length of a path is defined by the number of relationships included in it.
Note that the result is undefined if the value is not of type NEO4J_PATH.
[value] | The neo4j path. |
neo4j_result_t* neo4j_peek | ( | neo4j_result_stream_t * | results, |
unsigned int | depth | ||
) |
Peek at a record in the result stream.
[results] | The result stream. |
[depth] | The depth to peek into the remaining records in the stream. |
NULL
if the stream is exahusted or an error has occurred (errno will be set). void neo4j_perror | ( | FILE * | stream, |
int | errnum, | ||
const char * | message | ||
) |
Print the error message corresponding to an error number.
[stream] | The stream to write to. |
[errnum] | The error number. |
[message] | NULL , or a pointer to a message string which will be prepend to the error message, separated by a colon and space. |
neo4j_value_t neo4j_relationship_end_node_identity | ( | neo4j_value_t | value | ) |
Return the end node identity for a neo4j relationship.
[value] | The neo4j relationship. |
neo4j_value_t neo4j_relationship_identity | ( | neo4j_value_t | value | ) |
Return the identity of a neo4j relationship.
[value] | The neo4j relationship. |
neo4j_value_t neo4j_relationship_properties | ( | neo4j_value_t | value | ) |
Return the property map of a neo4j relationship.
Note that the result is undefined if the value is not of type NEO4J_RELATIONSHIP.
[value] | The neo4j relationship. |
neo4j_value_t neo4j_relationship_start_node_identity | ( | neo4j_value_t | value | ) |
Return the start node identity for a neo4j relationship.
[value] | The neo4j relationship. |
neo4j_value_t neo4j_relationship_type | ( | neo4j_value_t | value | ) |
Return the type of a neo4j relationship.
Note that the result is undefined if the value is not of type NEO4J_RELATIONSHIP.
[value] | The neo4j node. |
void neo4j_release | ( | neo4j_result_t * | result | ) |
Release a result.
[result] | A previously retained result. |
int neo4j_render_ccsv | ( | const neo4j_config_t * | config, |
FILE * | stream, | ||
neo4j_result_stream_t * | results | ||
) |
Render a result stream as comma separated value.
[config] | A neo4j client configuration. |
[stream] | The stream to render to. |
[results] | The results stream to render. |
int neo4j_render_csv | ( | FILE * | stream, |
neo4j_result_stream_t * | results, | ||
uint_fast32_t | flags | ||
) |
Render a result stream as comma separated value.
A bitmask of flags may be supplied, which may include:
If no flags are required, pass 0 or NEO4J_RENDER_DEFAULT
.
[stream] | The stream to render to. |
[results] | The results stream to render. |
[flags] | A bitmask of flags to control rendering. |
int neo4j_render_plan_ctable | ( | const neo4j_config_t * | config, |
FILE * | stream, | ||
struct neo4j_statement_plan * | plan, | ||
unsigned int | width | ||
) |
Render a statement plan as a table.
[config] | A neo4j client configuration. |
[stream] | The stream to render to. |
[plan] | The statement plan to render. |
[width] | The width of the table to render. |
int neo4j_render_plan_table | ( | FILE * | stream, |
struct neo4j_statement_plan * | plan, | ||
unsigned int | width, | ||
uint_fast32_t | flags | ||
) |
Render a statement plan as a table.
A bitmask of flags may be supplied, which may include:
If no flags are required, pass 0 or NEO4J_RENDER_DEFAULT
.
[stream] | The stream to render to. |
[plan] | The statement plan to render. |
[width] | The width of the table to render. |
[flags] | A bitmask of flags to control rendering. |
int neo4j_render_results_table | ( | const neo4j_config_t * | config, |
FILE * | stream, | ||
neo4j_result_stream_t * | results, | ||
unsigned int | width | ||
) |
Render a result stream as a table.
[config] | A neo4j client configuration. |
[stream] | The stream to render to. |
[results] | The results stream to render. |
[width] | The width of the table to render. |
int neo4j_render_table | ( | FILE * | stream, |
neo4j_result_stream_t * | results, | ||
unsigned int | width, | ||
uint_fast32_t | flags | ||
) |
Render a result stream as a table.
A bitmask of flags may be supplied, which may include:
If no flags are required, pass 0 or NEO4J_RENDER_DEFAULT
.
[stream] | The stream to render to. |
[results] | The results stream to render. |
[width] | The width of the table to render. |
[flags] | A bitmask of flags to control rendering. |
int neo4j_reset | ( | neo4j_connection_t * | connection | ) |
Reset a session.
Invoking this function causes all server-held state for the connection to be cleared, including rolling back any open transactions, and causes any existing result stream to be terminated.
[connection] | The connection to reset. |
neo4j_value_t neo4j_result_field | ( | const neo4j_result_t * | result, |
unsigned int | index | ||
) |
Get a field from a result.
[result] | A result. |
[index] | The field index to get. |
neo4j_result_t* neo4j_retain | ( | neo4j_result_t * | result | ) |
Retain a result.
This retains the result and all values contained within it, preventing them from being deallocated on the next call to neo4j_fetch_next() or when the result stream is closed via neo4j_close_results(). Once retained, the result must be explicitly released via neo4j_release().
[result] | A result. |
neo4j_result_stream_t* neo4j_run | ( | neo4j_connection_t * | connection, |
const char * | statement, | ||
neo4j_value_t | params | ||
) |
Evaluate a statement.
[connection] | The connection. |
[statement] | The statement to be evaluated. This must be a NULL terminated string and may contain UTF-8 multi-byte characters. |
[params] | The parameters for the statement, which must be a value of type NEO4J_MAP or neo4j_null. |
neo4j_result_stream_t
, or NULL
on error (errno will be set). neo4j_result_stream_t* neo4j_send | ( | neo4j_connection_t * | connection, |
const char * | statement, | ||
neo4j_value_t | params | ||
) |
Evaluate a statement, ignoring any results.
The neo4j_result_stream_t
returned from this function will not provide any results. It can be used to check for evaluation errors using neo4j_check_failure().
[connection] | The connection. |
[statement] | The statement to be evaluated. This must be a NULL terminated string and may contain UTF-8 multi-byte characters. |
[params] | The parameters for the statement, which must be a value of type NEO4J_MAP or neo4j_null. |
neo4j_result_stream_t
, or NULL
on error (errno will be set). const char* neo4j_server_id | ( | const neo4j_connection_t * | connection | ) |
Get the server ID string.
[connection] | The connection. |
NULL
if none was available. struct neo4j_statement_plan* neo4j_statement_plan | ( | neo4j_result_stream_t * | results | ) |
Return the statement plan for the result stream.
The returned statement plan, if not NULL
, must be later released using neo4j_statement_plan_release().
If the was no plan (or profile) in the server response, the result of this function will be NULL
and errno will be set to NEO4J_NO_PLAN_AVAILABLE. Note that errno will not be modified when a plan is returned, so error checking MUST evaluate the return value first.
[results] | The result stream. |
NULL
if a plan/profile was not available or on error (errno will be set). void neo4j_statement_plan_release | ( | struct neo4j_statement_plan * | plan | ) |
Release a statement plan.
The pointer will be invalid and should not be used after this function is called.
[plan] | A statment plan. |
int neo4j_statement_type | ( | neo4j_result_stream_t * | results | ) |
Return the statement type for the result stream.
The returned value will be one of the following:
[results] | The result stream. |
struct neo4j_logger_provider* neo4j_std_logger_provider | ( | FILE * | stream, |
uint_fast8_t | level, | ||
uint_fast32_t | flags | ||
) |
Obtain a standard logger provider.
The logger will output to the provided FILE
.
A bitmask of flags may be supplied, which may include:
If no flags are required, pass 0 or NEO4J_STD_LOGGER_DEFAULT
.
[stream] | The stream to output to. |
[level] | The default level to log at. |
[flags] | A bitmask of flags for the standard logger output. |
neo4j_logger_provider
, or NULL
on error (errno will be set). void neo4j_std_logger_provider_free | ( | struct neo4j_logger_provider * | provider | ) |
Free a standard logger provider.
Provider must have been obtained via neo4j_std_logger_provider().
[provider] | The provider to free. |
const char* neo4j_strerror | ( | int | errnum, |
char * | buf, | ||
size_t | buflen | ||
) |
Look up the error message corresponding to an error number.
[errnum] | The error number. |
[buf] | A character buffer that may be used to hold the message. |
[buflen] | The length of the provided buffer. |
neo4j_value_t neo4j_string | ( | const char * | s | ) |
Construct a neo4j value encoding a string.
[s] | A pointer to a NULL terminated ASCII string. The pointer must remain valid, and the content unchanged, for the lifetime of the neo4j value. |
unsigned int neo4j_string_length | ( | neo4j_value_t | value | ) |
Return the length of a neo4j UTF-8 string.
Note that the result is undefined if the value is not of type NEO4J_STRING.
[value] | The neo4j string. |
char* neo4j_string_value | ( | neo4j_value_t | value, |
char * | buffer, | ||
size_t | length | ||
) |
Copy a neo4j string to a NULL
terminated buffer.
As much of the string will be copied to the buffer as possible, and the result will be NULL
terminated.
Note that the result is undefined if the value is not of type NEO4J_STRING.
[value] | The neo4j string. |
[buffer] | A pointer to a buffer for storing the string. The pointer must remain valid, and the content unchanged, for the lifetime of the neo4j value. |
[length] | The length of the buffer. |
neo4j_connection_t* neo4j_tcp_connect | ( | const char * | hostname, |
unsigned int | port, | ||
neo4j_config_t * | config, | ||
uint_fast32_t | flags | ||
) |
Establish a connection to a neo4j server.
A bitmask of flags may be supplied, which may include:
NEO4J_SERVER_REQUIRES_SECURE_CONNECTION
.If no flags are required, pass 0 or NEO4J_CONNECT_DEFAULT
.
[hostname] | The hostname to connect to. |
[port] | The port to connect to. |
[config] | The neo4j client configuration to use for this connection. |
[flags] | A bitmask of flags to control connections. |
neo4j_connection_t
structure, or NULL
on error (errno will be set). char* neo4j_tostring | ( | neo4j_value_t | value, |
char * | strbuf, | ||
size_t | n | ||
) |
Get a string representation of a neo4j value.
Writes as much of the representation as possible into the buffer, ensuring it is always NULL
terminated.
[value] | The neo4j value. |
[strbuf] | A buffer to write the string representation into. |
[n] | The length of the buffer. |
neo4j_type_t neo4j_type | ( | neo4j_value_t | value | ) |
Get the type of a neo4j value.
[value] | The neo4j value. |
const char* neo4j_typestr | ( | neo4j_type_t | t | ) |
Get a string description of the neo4j type.
[t] | The neo4j type. |
NULL
terminated string containing the type name. int neo4j_u8clen | ( | const char * | s, |
size_t | n | ||
) |
Return the number of bytes in a UTF-8 character.
[s] | The sequence of bytes containing the character. |
[n] | The maximum number of bytes to inspect. |
int neo4j_u8codepoint | ( | const char * | s, |
size_t * | n | ||
) |
Return the Unicode codepoint of a UTF-8 character.
[s] | The sequence of bytes containing the character. |
[n] | A ponter to a size_t containing the maximum number of bytes to inspect. On successful return, this will be updated to contain the number of bytes consumed by the character. |
int neo4j_u8cpwidth | ( | int | cp | ) |
Return the column width of a Unicode codepoint.
[cp] | The codepoint value. |
int neo4j_u8cswidth | ( | const char * | s, |
size_t | n | ||
) |
Return the column width of a UTF-8 string.
[s] | The UTF-8 encoded string. |
[n] | The maximum number of bytes to inspect. |
int neo4j_u8cwidth | ( | const char * | s, |
size_t | n | ||
) |
Return the column width of a UTF-8 character.
[s] | The sequence of bytes containing the character. |
[n] | The maximum number of bytes to inspect. |
struct neo4j_update_counts neo4j_update_counts | ( | neo4j_result_stream_t * | results | ) |
Return the update counts for the result stream.
[results] | The result stream. |
neo4j_value_t neo4j_ustring | ( | const char * | u, |
unsigned int | n | ||
) |
Construct a neo4j value encoding a string.
[u] | A pointer to a UTF-8 string. The pointer must remain valid, and the content unchanged, for the lifetime of the neo4j value. |
[n] | The length of the UTF-8 string. This must be less than UINT32_MAX in length (and will be truncated otherwise). |
const char* neo4j_ustring_value | ( | neo4j_value_t | value | ) |
Return a pointer to a UTF-8 string.
The pointer will be to a UTF-8 string, and will NOT be NULL
terminated. The length of the string, in bytes, can be obtained using neo4j_ustring_length(value).
Note that the result is undefined if the value is not of type NEO4J_STRING.
[value] | The neo4j string. |
const neo4j_type_t NEO4J_BOOL |
The neo4j boolean value type.
const neo4j_type_t NEO4J_BYTES |
The neo4j bytes value type.
const neo4j_type_t NEO4J_FLOAT |
The neo4j float value type.
const neo4j_type_t NEO4J_IDENTITY |
The neo4j identity value type.
const neo4j_type_t NEO4J_INT |
The neo4j integer value type.
const neo4j_type_t NEO4J_LIST |
The neo4j list value type.
const neo4j_type_t NEO4J_MAP |
The neo4j map value type.
const neo4j_type_t NEO4J_NODE |
The neo4j node value type.
const neo4j_type_t NEO4J_NULL |
The neo4j null value type.
const neo4j_type_t NEO4J_PATH |
The neo4j path value type.
const struct neo4j_plan_table_colors* neo4j_plan_table_ansi_colors |
Plan table colorization rules for ANSI terminal output.
const struct neo4j_plan_table_colors* neo4j_plan_table_no_colors |
Plan table colorization rules for uncolorized plan table output.
const neo4j_type_t NEO4J_RELATIONSHIP |
The neo4j relationship value type.
const struct neo4j_results_table_colors* neo4j_results_table_ansi_colors |
Results table colorization rules for ANSI terminal output.
const struct neo4j_results_table_colors* neo4j_results_table_no_colors |
Results table colorization rules for uncolorized table output.
const neo4j_type_t NEO4J_STRING |
The neo4j string value type.