FireDAC Components for Couchbase

Build 21.0.7930

FlexibleSchemas

Whether the provider allows queries to use columns that it has not discovered.

Syntax


property FlexibleSchemas: Boolean;

Data Type

Boolean

Default Value

false

Remarks

By default component will only allow queries to use columns that it has found during the metadata discovery process (see TypeDetectionScheme for details). This means that the component 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 component 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 component will assume that they are simple strings.

For example, the component uses column type information to automatically convert dates for comparision since Couchbase cannot natively compare dates directly. If the component 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 component 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.

Copyright (c) 2021 CData Software, Inc. - All rights reserved.
Build 21.0.7930