[parsing] Raise BadRQLQuery if shortcut type settings is used without any variable
Before this 'Machin 12' is transformed to 'Any 12' since it expect a 'set type
shortcut', but since the selection doesn't hold any variable, the type
information is lost and no type checking is ever done.
We can not expect to have the schema at this point, which would allow to check
if the type exists. Even if we had, we would then need dedicated structures to
hold the information that we expect entity with eid '12' to be a 'Machin'...
Thus, it seems simpler to disallow usage of this simplified form without any
selected variable.
Closes #9234282.
%if 0%{?el5}
%define python python26
%define __python /usr/bin/python2.6
%{!?python_scriptarch: %define python_scriptarch %(%{__python} -c "from distutils.sysconfig import get_python_lib; from os.path import join; print join(get_python_lib(1, 1), 'scripts')")}
%else
%define python python
%define __python /usr/bin/python
%endif
%define libdir %{_prefix}/lib
%define lib64dir %{_prefix}/lib64
Name: %{python}-rql
Version: 0.34.0
Release: logilab.1%{?dist}
Summary: relationship query language (RQL) utilities
Group: Development/Languages/Python
License: LGPLv2+
URL: http://www.logilab.org/project/rql
Source0: http://download.logilab.org/pub/rql/rql-%{version}.tar.gz
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildRequires: %{python}-devel
BuildRequires: %{python}-setuptools
BuildRequires: gecode-devel
Requires: %{python}
Requires: %{python}-logilab-common >= 0.47.0
Requires: %{python}-logilab-database >= 1.6.0
Requires: %{python}-yapps2 >= 2.1.1
Requires: %{python}-logilab-constraint >= 0.5.0
Requires: %{python}-six >= 1.4.0
Requires: %{python}-setuptools
Conflicts: cubicweb < 3.21.99
%description
relationship query language (RQL) utilities
%prep
%setup -q -n rql-%{version}
%build
%{__python} setup.py build
%if 0%{?el5}
# change the python version in shebangs
find . -name '*.py' -type f -print0 | xargs -0 sed -i '1,3s;^#!.*python.*$;#! /usr/bin/python2.6;'
%endif
%install
NO_SETUPTOOLS=1 %{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT %{?python_scriptarch: --install-scripts=%{python_scriptarch}}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-, root, root)
%{_usrsrc}/*
%{libdir}/*
%{lib64dir}/*