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 )