Neo4j-Bolt
view release on metacpan or search on metacpan
lib/Neo4j/Bolt/ResultStream.xs view on Meta::CPAN
hv_stores(hv, "context", newSVpv(faild->context,0));
hv_stores(hv, "line", newSViv( (IV) faild->line ));
hv_stores(hv, "column", newSViv( (IV) faild->column ));
hv_stores(hv, "offset", newSViv( (IV) faild->offset ));
hv_stores(hv, "context_offset", newSViv( (IV) faild->context_offset ));
SV* sv = newRV_noinc( (SV*)hv );
SvREADONLY_on(sv);
return sv;
}
void update_counts_ (SV *rs_ref) {
struct neo4j_update_counts *uc;
Inline_Stack_Vars;
Inline_Stack_Reset;
if (C_PTR_OF(rs_ref,rs_obj_t)->fetched != 1) {
Inline_Stack_Done;
return;
}
uc = C_PTR_OF(rs_ref,rs_obj_t)->stats->update_counts;
mXPUSHu( (const UV) uc->nodes_created );
mXPUSHu( (const UV) uc->nodes_deleted );
mXPUSHu( (const UV) uc->relationships_created );
mXPUSHu( (const UV) uc->relationships_deleted );
mXPUSHu( (const UV) uc->properties_set );
mXPUSHu( (const UV) uc->labels_added );
mXPUSHu( (const UV) uc->labels_removed );
mXPUSHu( (const UV) uc->indexes_added );
mXPUSHu( (const UV) uc->indexes_removed );
mXPUSHu( (const UV) uc->constraints_added );
mXPUSHu( (const UV) uc->constraints_removed );
Inline_Stack_Done;
return;
}
void DESTROY (SV *rs_ref) {
rs_obj_t *rs_obj;
rs_obj = C_PTR_OF(rs_ref,rs_obj_t);
neo4j_close_results(rs_obj->res_stream);
Safefree(rs_obj->eval_errcode);
Safefree(rs_obj->eval_errmsg);
Safefree(rs_obj->strerror);
Safefree(rs_obj->stats->update_counts);
Safefree(rs_obj->stats);
Safefree(rs_obj);
return;
}
MODULE = Neo4j::Bolt::ResultStream PACKAGE = Neo4j::Bolt::ResultStream
PROTOTYPES: DISABLE
void
fetch_next_ (rs_ref)
SV * rs_ref
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
fetch_next_(rs_ref);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
int
nfields_ (rs_ref)
SV * rs_ref
void
fieldnames_ (rs_ref)
SV * rs_ref
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
fieldnames_(rs_ref);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
int
success_ (rs_ref)
SV * rs_ref
int
failure_ (rs_ref)
SV * rs_ref
int
client_errnum_ (rs_ref)
SV * rs_ref
const char *
server_errcode_ (rs_ref)
SV * rs_ref
const char *
server_errmsg_ (rs_ref)
SV * rs_ref
const char *
client_errmsg_ (rs_ref)
SV * rs_ref
UV
result_count_ (rs_ref)
SV * rs_ref
UV
available_after_ (rs_ref)
SV * rs_ref
UV
consumed_after_ (rs_ref)
SV * rs_ref
SV *
get_failure_details (rs_ref)
SV * rs_ref
void
update_counts_ (rs_ref)
SV * rs_ref
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
update_counts_(rs_ref);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
void
DESTROY (rs_ref)
SV * rs_ref
PREINIT:
I32* temp;
PPCODE:
temp = PL_markstack_ptr++;
DESTROY(rs_ref);
if (PL_markstack_ptr != temp) {
/* truly void, because dXSARGS not invoked */
PL_markstack_ptr = temp;
XSRETURN_EMPTY; /* return empty stack */
}
/* must have used dXSARGS; list context implied */
return; /* assume stack size is correct */
( run in 1.012 second using v1.01-cache-2.11-cpan-5511b514fd6 )