ARSperl
view release on metacpan or search on metacpan
supportrev_generated.c view on Meta::CPAN
strncpy( k, "recursionQual", 255 );
val = hv_fetch( h, "recursionQual", 13, 0 );
if( val && *val && SvOK(*val) ){
{
p->recursionQual = MALLOCNN(sizeof(ARMultiSchemaQualifierStruct)); rev_ARMultiSchemaQualifierStruct( ctrl, h, k, p->recursionQual );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"recursionQual\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "recursiveSchemaAlias", 255 );
val = hv_fetch( h, "recursiveSchemaAlias", 20, 0 );
if( val && *val && SvOK(*val) ){
{
strncpy( p->recursiveSchemaAlias, SvPV_nolen(*val), sizeof(p->recursiveSchemaAlias) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"recursiveSchemaAlias\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "having", 255 );
val = hv_fetch( h, "having", 6, 0 );
if( val && *val && SvOK(*val) ){
{
p->having = MALLOCNN(sizeof(ARMultiSchemaFuncQualifierStruct)); rev_ARMultiSchemaFuncQualifierStruct( ctrl, h, k, p->having );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"having\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "levelsToRetrieve", 255 );
val = hv_fetch( h, "levelsToRetrieve", 16, 0 );
if( val && *val && SvOK(*val) ){
{
p->levelsToRetrieve = SvIV(*val);
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"levelsToRetrieve\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "startQual", 255 );
val = hv_fetch( h, "startQual", 9, 0 );
if( val && *val && SvOK(*val) ){
{
p->startQual = MALLOCNN(sizeof(ARMultiSchemaQualifierStruct)); rev_ARMultiSchemaQualifierStruct( ctrl, h, k, p->startQual );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"startQual\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "groupBy", 255 );
val = hv_fetch( h, "groupBy", 7, 0 );
if( val && *val && SvOK(*val) ){
{
rev_ARMultiSchemaFieldIdList( ctrl, h, k, &(p->groupBy) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"groupBy\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "queryFromList", 255 );
val = hv_fetch( h, "queryFromList", 13, 0 );
if( val && *val && SvOK(*val) ){
{
rev_ARMultiSchemaFuncQueryFromList( ctrl, h, k, &(p->queryFromList) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"queryFromList\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "getListFuncs", 255 );
val = hv_fetch( h, "getListFuncs", 12, 0 );
if( val && *val && SvOK(*val) ){
{
rev_ARMultiSchemaFieldFuncList( ctrl, h, k, &(p->getListFuncs) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"getListFuncs\"" );
return -1;
}
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaRecursiveFuncQueryStruct: hash value is not a hash reference" );
return -1;
}
}
}else{
ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaRecursiveFuncQueryStruct: hv_fetch returned null");
return -2;
}
}else{
ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, "rev_ARMultiSchemaRecursiveFuncQueryStruct: key doesn't exist");
ARError_add(AR_RETURN_WARNING, AP_ERR_GENERAL, k );
return -2;
}
}else{
ARError_add(AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaRecursiveFuncQueryStruct: first argument is not a hash");
return -1;
}
return 0;
}
#endif
#if AR_CURRENT_API_VERSION >= 14
int
rev_ARMultiSchemaRecursiveQueryStruct( ARControlStruct *ctrl, HV *h, char *k, ARMultiSchemaRecursiveQueryStruct *p ){
SV **val;
int i = 0;
if( !p ){
ARError_add(AR_RETURN_ERROR, AP_ERR_GENERAL, "rev_ARMultiSchemaRecursiveQueryStruct: AR Object param is NULL" );
return -1;
}
if( SvTYPE((SV*) h) == SVt_PVHV ){
// printf( "ARMultiSchemaRecursiveQueryStruct: k = <%s>\n", k );
if( hv_exists(h,k,strlen(k)) ){
val = hv_fetch( h, k, strlen(k), 0 );
if( val && *val ){
{
if( SvTYPE(SvRV(*val)) == SVt_PVHV ){
int i = 0, num = 0;
HV *h = (HV* ) SvRV((SV*) *val);
char k[256];
k[255] = '\0';
{
SV **val;
strncpy( k, "startQual", 255 );
val = hv_fetch( h, "startQual", 9, 0 );
if( val && *val && SvOK(*val) ){
{
p->startQual = MALLOCNN(sizeof(ARMultiSchemaQualifierStruct)); rev_ARMultiSchemaQualifierStruct( ctrl, h, k, p->startQual );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"startQual\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "queryFromList", 255 );
val = hv_fetch( h, "queryFromList", 13, 0 );
if( val && *val && SvOK(*val) ){
{
rev_ARMultiSchemaQueryFromList( ctrl, h, k, &(p->queryFromList) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"queryFromList\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "recursionQual", 255 );
val = hv_fetch( h, "recursionQual", 13, 0 );
if( val && *val && SvOK(*val) ){
{
p->recursionQual = MALLOCNN(sizeof(ARMultiSchemaQualifierStruct)); rev_ARMultiSchemaQualifierStruct( ctrl, h, k, p->recursionQual );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"recursionQual\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "recursiveSchemaAlias", 255 );
val = hv_fetch( h, "recursiveSchemaAlias", 20, 0 );
if( val && *val && SvOK(*val) ){
{
strncpy( p->recursiveSchemaAlias, SvPV_nolen(*val), sizeof(p->recursiveSchemaAlias) );
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"recursiveSchemaAlias\"" );
return -1;
}
}
{
SV **val;
strncpy( k, "levelsToRetrieve", 255 );
val = hv_fetch( h, "levelsToRetrieve", 16, 0 );
if( val && *val && SvOK(*val) ){
{
p->levelsToRetrieve = SvIV(*val);
}
}else{
ARError_add( AR_RETURN_ERROR, AP_ERR_GENERAL, "hv_fetch error: key \"levelsToRetrieve\"" );
( run in 1.792 second using v1.01-cache-2.11-cpan-437f7b0c052 )