Howdy,

When a FidFilter contains more than 1000 FIDs the generated SQL will be 
rejected by Oracle

See:
org.geotools.filter.SQLEncoderSDE
        public void visit(FidFilter filter)

Can be fixed by breaking the IN clause into multiple parts
e.g. changing "fid IN(id0, id1, ..., idN)" to "fid IN(id0, id1, ..., 
id999) OR fid IN(id1000, id1001, ..., id1999) OR ... OR fid IN(idM+1, 
idM+2, ..., idN)".
Or, by using "fid = id0 OR fid = id1 OR ... OR fid = idN" (as the Oracle 
Spatial and the base SQL encoders do)

Cheers,
Shaun

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to