I am using the Android SDK to implement offline editing using per layer sync mode with ArcGIS Server 10.2.2. Obtaining a local geodatabase with GenerateGeodatabaseParameters succeeds only when the LayerQuery is extremely simple or omitted entirely. It seems that the WHERE clause must be in the form "field = value" and only LIKE or comparison operators are supported. Other perfectly valid SQL expressions always cause a "Failed to create table descriptions from input. (null)" error even though they work as definition queries in ArcMap. This error message makes no sense because the table description obviously exists in the enterprise GDB already.
Including a UDF or a subquery or even a bitwise operator in a LayerQuery would be very useful. This would allow an enterprise geodatabase to implement business logic that a client does not (and should not) need to know. Is there some way to overcome the serious limitations of this important feature? Has this been fixed in any newer release?
If you need to use database-specific where clause statements in your application, you can disable standardized queries by accessing the ArcGIS Server Administrator Directory. To do so, follow the instructions below.
By disabling this security option, your site becomes more vulnerable to SQL injection attacks.