Details
Description
To reproduce, I used the following code:
UserService service = client.getService(UserService.class);
AnyQuery query = new AnyQuery.Builder()
.page(1)
.size(1)
.orderBy("email ASC")
.realm("/")
.build();
return service.search(query);
And then I received the following exception stack:
org.apache.syncope.common.lib.SyncopeClientException: DataIntegrityViolation
[ERROR: UNION types integer and text cannot be matched
Position: 158 {prepstmnt 1156037144 SELECT u.any_id,sva.stringvalue AS
email FROM (SELECT DISTINCT any_id FROM user_search WHERE id IS NOT NULL) u,
(SELECT * FROM user_search_attr UNION SELECT * FROM user_search_null_attr)
sva WHERE u.any_id=sva.any_id AND sva.schema_id='email' AND u.any_id IN
(SELECT any_id FROM user_search WHERE realm_id IN (SELECT id AS realm_id
FROM Realm WHERE id=?)) ORDER BY email ASC} [code=0, state=42804]]
at
org.apache.syncope.common.lib.SyncopeClientException.build(SyncopeClientException.java:37)
at
org.apache.syncope.client.lib.RestClientExceptionMapper.checkSyncopeClientCompositeException(RestClientExceptionMapper.java:143)
at
org.apache.syncope.client.lib.RestClientExceptionMapper.fromResponse(RestClientExceptionMapper.java:53)
at
org.apache.syncope.client.lib.RestClientExceptionMapper.fromResponse(RestClientExceptionMapper.java:42)
at
org.apache.cxf.jaxrs.client.ClientProxyImpl.checkResponse(ClientProxyImpl.java:313)
at
org.apache.cxf.jaxrs.client.ClientProxyImpl.handleResponse(ClientProxyImpl.java:876)
at
org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientProxyImpl.java:789)
at
org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:235)
at com.sun.proxy.$Proxy64.search(Unknown Source)
at com.gal.ums.services.UsersService.getUsers(UsersService.java:65)
Commit 70aa8425b0d48e08f271b380b9e40a17043640d9 in syncope's branch refs/heads/2_0_X from ilgrosso
[ https://git-wip-us.apache.org/repos/asf?p=syncope.git;h=70aa842 ]
SYNCOPE-1308Now working fine with latest PostgreSQL (needs dedicated views.xml)