The format may of changed a bit as the ability to add CQL expressions (and
generate columns on the fly) was added in that time frame.

There is an options to refresh the column definition from the database
table that may be more suitable than manually adding a column.
--
Jody Garnett


On Nov 2, 2023 at 6:10:12 AM, Harsha Yegireddi <harsha6...@gmail.com> wrote:

> I am unable to update the layer configuration of a PostGIS geoserver layer.
>
>    1. I am adding a new column to the existing and published PostGIS
>    table in the first step.
>    2. However, the geoserver automatically doesn't reflect the changes
>    made to the layer. We need to manually do it through the geoserver admin
>    interface using the "Reload feature type" option (image below) or automate
>    it through the geoserver rest API.
>
> [image: gs_question.png]
>
>    1. The Python code for updating layer configuration through rest-API
>    is given below.
>
> ```
>
> session = requests.Session()
> session.auth = (username, password)
> layer_url_json = 
> f"{geoserver_url_dL}/workspaces/{workspace_dL}/datastores/{store}/featuretypes/{layer_name}.json"
> response1 = session.get(layer_url_json)
> layer_info = response1.json()#print(layer_info)
> new_column = {
>     "name": "type12",
>     "type": "Boolean",  # Set the data type for the new column
>     "nillable":True,
>     "minOccurs": 0,  # Optional: Minimum occurrences
>     "maxOccurs": 1  # Optional: Maximum occurrences
> }
> layer_info['featureType']['attributes']['attribute'].append(new_column)
> response2 = session.put(layer_url_json, headers={'Content-type': 
> 'application/json'},
>
> ```
>
> The above code was working perfectly in geoserver-2.20.0 and the changes
> to layer configuration are being reflected.
>
> However, I am getting a 500 error for response2 with the text "The CQL
> source expression for attribute type12 refers to attributes unavailable in
> the data source: [type12]" in later versions of geoserver like
> geoserver-2.23, 2.24, 2.25-SNAPSHOT
>
> I tried to verify the PostGIS table and the column is already added to the
> table, and the rest-api interactions with geoserver 2.23-SNAPSHOT are
> working fine as i was able to retrieve "layer_info" and also successfully
> tested adding a new workspace using rest-api in this version.
>
> Unfortunately, I can't fix this error. Is this my code error specific to
> the version of the geoserver or is it a geoserver bug?
>
> --
> Thanks and Regards,
> Sriharsha Yegireddi
>
>
> _______________________________________________
> Geoserver-users mailing list
>
> Please make sure you read the following two resources before posting to
> this list:
> - Earning your support instead of buying it, but Ian Turton:
> http://www.ianturton.com/talks/foss4g.html#/
> - The GeoServer user list posting guidelines:
> http://geoserver.org/comm/userlist-guidelines.html
>
> If you want to request a feature or an improvement, also see this:
> https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer
>
>
> Geoserver-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/geoserver-users
>
_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this 
list:
- Earning your support instead of buying it, but Ian Turton: 
http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: 
http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: 
https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer


Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to