FlexibleSchemas
Whether the provider allows queries to use columns that it has not discovered.
Data Type
bool
Default Value
false
Remarks
By default add-in will only allow queries to use columns that it has found during the metadata discovery process (see TypeDetectionScheme for details). This means that the add-in has the full information for each column it presents, but it also means that fields set on only a few documents may not be exposed. Disabling this option means that the add-in will allow you to write a query with any columns you want. If you use columns in a query that have not been discovered the add-in will assume that they are simple strings.
For example, the add-in uses column type information to automatically convert dates for comparision since Couchbase cannot natively compare dates directly.
If the add-in detects that datecol is a date field, it can apply the STR_TO_MILLIS conversion automatically:
/* SQL */ WHERE datecol < '2020-06-12'; /* N1QL */ WHERE STR_TO_MILLIS(datecol) < STR_TO_MILLIS('2020-06-12');
When using undiscovered columns the add-in cannot make this type of conversion for you. You must apply any needed conversions manually to ensure that operations behave the way you want them to.