section-variable

section-variable

Functions

Types and Values

Description

Functions

rasqal_new_variable_from_variable ()

rasqal_variable *
rasqal_new_variable_from_variable (rasqal_variable *v);

Copy Constructor - Create a new Rasqal variable from an existing one

This adds a new reference to the variable, it does not do a deep copy

Parameters

v

rasqal_variable to copy

 

Returns

a new rasqal_variable or NULL on failure.


rasqal_free_variable ()

void
rasqal_free_variable (rasqal_variable *v);

Destructor - Destroy a Rasqal variable object.

Parameters

v

rasqal_variable object

 

rasqal_variable_print ()

int
rasqal_variable_print (rasqal_variable *v,
                       FILE *fh);

Print a Rasqal variable in a debug format.

The print debug format may change in any release.

Parameters

v

the rasqal_variable object

 

fh

the FILE* handle to print to

 

Returns

non-0 on failure


rasqal_variable_set_value ()

void
rasqal_variable_set_value (rasqal_variable *v,
                           rasqal_literal *l);

Set the value of a Rasqal variable.

The variable value is an input parameter and is copied in, not shared. If the variable value is NULL, any existing value is deleted.

Parameters

v

the rasqal_variable object

 

l

the rasqal_literal value to set (or NULL)

 

Types and Values

rasqal_variable

typedef struct {
  rasqal_variables_table* vars_table;
  const char * name;
  rasqal_literal* value;
  int offset;
  rasqal_variable_type type;
  struct rasqal_expression_s* expression;
  void *user_data;
  int usage;
} rasqal_variable;

Binding between a variable name and a value.

Includes internal field offset for recording the offset into the (internal) rasqal_query variables array.

Members

rasqal_variables_table *vars_table;

variables table that owns this variable

 

const char *name;

Variable name.

 

rasqal_literal *value;

Variable value or NULL if unbound.

 

int offset;

Internal.

 

rasqal_variable_type type;

Variable type.

 

struct rasqal_expression_s *expression;

Expression when the variable is a computed SELECT expression

 

void *user_data;

Pointer to user data associated with a variable. This is not used by rasqal.

 

int usage;

reference count

 

enum rasqal_variable_type

Rasqal variable types.

ANONYMOUS can be used in queries but cannot be returned in a result.

Members

RASQAL_VARIABLE_TYPE_UNKNOWN

Internal.

 

RASQAL_VARIABLE_TYPE_NORMAL

The regular variable type.

 

RASQAL_VARIABLE_TYPE_ANONYMOUS

Anonymous variable type.