Skip to main content

Hi,

I use a FeatureReader with the Format "Esri Geodatabse (ArcSDE Geodb).

I linked the "WHERE Clause" constraint to an attribute.

Then when I checked the parameters of the FeatureReader transformer in the Navigator window, I saw a parameter named "GEODATABASE_SDE WHERE Clause".

I would like to know the difference between the "WHERE Clause" parameter and the "GEODATABASE_SDE WHERE Clause" parameter.

Thanks

Valerie

Hi @valeriepelletie, this is a great question! The WHERE clause set on the FeatureReader is specific to the feature types or tables that you are querying. This is the clause that will be applied to the data while you are reading it in.

The other WHERE clause you mentioned has to do with the Reader itself. This is used outside of the FeatureReader when you are using a Reader rather than a transformer to read in your data. I believe it's listed here, in the Navigator, since it is part of the format you've set in the FeatureReader and thus can be left alone while using the FeatureReader. When you apply a WHERE clause to a Reader and not a FeatureReader or feature type, it applies to all feature types that you are reading in. This should be used in scenarios where all of the feature types you are reading in have the same attribute and same value that you want to limit the data by.

In regards to the FeatureReader, the WHERE clause you set in the transformer will still be applied to all of the tables you select to read in. If you wanted to do a different WHERE clause per feature type, I would recommend using a Reader with different WHERE clauses set in the Feature Type Properties.


Hi @valeriepelletie, this is a great question! The WHERE clause set on the FeatureReader is specific to the feature types or tables that you are querying. This is the clause that will be applied to the data while you are reading it in.

The other WHERE clause you mentioned has to do with the Reader itself. This is used outside of the FeatureReader when you are using a Reader rather than a transformer to read in your data. I believe it's listed here, in the Navigator, since it is part of the format you've set in the FeatureReader and thus can be left alone while using the FeatureReader. When you apply a WHERE clause to a Reader and not a FeatureReader or feature type, it applies to all feature types that you are reading in. This should be used in scenarios where all of the feature types you are reading in have the same attribute and same value that you want to limit the data by.

In regards to the FeatureReader, the WHERE clause you set in the transformer will still be applied to all of the tables you select to read in. If you wanted to do a different WHERE clause per feature type, I would recommend using a Reader with different WHERE clauses set in the Feature Type Properties.

Some additional note regarding which WHERE Clause takes preference:

  • In Reader the Table (feature type) WHERE Clause overwrites the one in the Reader parameter.
  • In FeatureReader transformer the WHERE Clause immediately in the settings dialog overwrites the one hidden by the Properties... button.

Reply