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 )