# (*) Granular Feedback
Issues are handled differently depending on their severity:
- Informative, such as Deprecated fields and directives: to indicate they must be replaced with a substitute
- Non-blocking issues, such as Schema/Database warnings: when an issue happens on a non-mandatory field
- Blocking issues, such as Query/Schema/Database errors: when they use a wrong syntax, declare non-existing fields or directives, or produce an issues on mandatory arguments
//1. Deprecated fields /?query= posts. title| isPublished //2. Schema warning /?query= posts(limit:3.5). title //3. Database warning /?query= users. posts(limit:name()). title //4. Query error /?query= posts. id[book](key:value) //5. Schema error /?query= posts. nonExistantField| isStatus( status:non-existant-value )
# Issues bubble upwards
If a field or directive fails and it is input to another field, this one may also fail.
/?query= post(divide(a,4)). title
# Path to the issue
Issues contain the path to the composed field or directive were it was produced.
/?query= echo([hola,chau])< forEach< translate(notexisting:prop) > >
# Log information
Any informative piece of information can be logged (enabled/disabled through configuration).
/? actions=show-logs& postId=1& query= post($postId). title| date(d/m/Y)