gboolean midgard_core_object_has_parameters( MidgardConnection *mgd, const gchar *class_name, const gchar *guid) { g_assert(mgd != NULL); g_assert(class_name != NULL); g_assert(guid != NULL); MidgardQueryBuilder *builder = midgard_core_object_parameter_query_builder(mgd, class_name, guid); /* error is set in builder constructor */ if(!builder) return FALSE; midgard_query_builder_set_limit(builder, 1); gboolean rv = TRUE; guint i = midgard_query_builder_count(builder); if(i == 0) rv = FALSE; g_object_unref(builder); return rv; }
static PHP_METHOD(midgard_query_builder, set_limit) { RETVAL_FALSE; MidgardConnection *mgd = mgd_handle(TSRMLS_C); CHECK_MGD(mgd); long limit; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &limit) != SUCCESS) { return; } _GET_BUILDER_OBJECT; /* TODO, check if limit check can be ignored */ if (limit < 0) { php_error(E_WARNING, "Ignoring a negative query limit"); RETURN_FALSE; } midgard_query_builder_set_limit(builder, limit); RETURN_TRUE; }