Postgresql查询在本地工作,但在Travis CI上失败

问题描述:

这让我疯狂。下面的查询工作完全罚款在当地,但没有当我测试它特拉维斯-Cl,并且引发错误:Postgresql查询在本地工作,但在Travis CI上失败

java.lang.RuntimeException: org.postgresql.util.PSQLException: ERROR: syntax error at or near "select" Position: 39

希望有人能看到的东西我不能。

这里是我的表:

+----------+---------------+ 
| ways     | 
+----------+---------------+ 
| way_id | bigint  | 
| node_ids | bigint array | 
| rep_lat | float(9)  | 
| rep_lon | float(9)  | 
+----------+---------------+ 

+---------+-----------+ 
| nodes    | 
+---------+-----------+ 
| node_id | bigint | 
| lat  | float(9) | 
| lon  | float(9) | 
+---------+-----------+ 

这里是我的查询:

update ways 
set (rep_lat, rep_lon) = 
    ( 
    select lat, lon 
    from nodes 
    where nodes.node_id = ways.node_ids[array_length(ways.node_ids, 1)/2] 
) 

奇怪,不管出于什么原因,这种格式是可以接受的:

UPDATE ways 
SET rep_lat=subq.lat, rep_lon=subq.lon 
FROM (SELECT lat, lon, node_id FROM nodes) as subq 
WHERE subq.node_id = ways.node_ids[array_length(ways.node_ids, 1)/2]