[doc] Restructure the documentation
* Create a new index file
* Move the sphinx configuration files do the documentation root
* Move book/README to dev/documenting.rst
* Move book/mode_plan.py to tools/
* Move book/en/images to images
* Move book/en/* to book/
* Move changelogs to changes/*
* Adapt the Makefile
* Add a title to the javascript api index
Related to #4832808
.. -*- coding: utf-8 -*-
.. _DEBUGGING:
Debugging RQL
-------------
Available levels
~~~~~~~~~~~~~~~~
Server debugging flags. They may be combined using binary operators.
.. autodata:: cubicweb.server.DBG_NONE
.. autodata:: cubicweb.server.DBG_RQL
.. autodata:: cubicweb.server.DBG_SQL
.. autodata:: cubicweb.server.DBG_REPO
.. autodata:: cubicweb.server.DBG_MS
.. autodata:: cubicweb.server.DBG_HOOKS
.. autodata:: cubicweb.server.DBG_OPS
.. autodata:: cubicweb.server.DBG_MORE
.. autodata:: cubicweb.server.DBG_ALL
Enable verbose output
~~~~~~~~~~~~~~~~~~~~~
To debug your RQL statements, it can be useful to enable a verbose output:
.. sourcecode:: python
from cubicweb import server
server.set_debug(server.DBG_RQL|server.DBG_SQL|server.DBG_ALL)
.. autofunction:: cubicweb.server.set_debug
Another example showing how to debug hooks at a specific code site:
.. sourcecode:: python
from cubicweb.server import debugged, DBG_HOOKS
with debugged(DBG_HOOKS):
person.cw_set(works_for=company)
Detect largest RQL queries
~~~~~~~~~~~~~~~~~~~~~~~~~~~
See `Profiling and performance` chapter (see :ref:`PROFILING`).
API
~~~
.. autoclass:: cubicweb.server.debugged