You can translate the question and the replies:

Hard limit on number of allowed values for the IN operator

Dear Denodo Team, with update 20230914 of Denodo 8 it's possible to define a hard limit of allowed number of values for the IN operator. (Added enhancement #71524. Added support for setting a hard limit on the number of values allowed for the IN operator.) Could you please provide the setting to activate this limit. Regards, Gerhard
user
10-10-2023 06:59:30 -0400
code

3 Answers

Hi, I tried the new feature added in the **latest update(20230914)** to activate the hard limit for **“IN”** operator and it works as expected. The below command helps in limiting the values of IN operator: ``` SET 'com.denodo.vdb.interpreter.parser.condition.maxValuesOnInOperator' = '<enter an integer greater than 0>'; ``` For instance, ``` SET 'com.denodo.vdb.interpreter.parser.condition.maxValuesOnInOperator' = '3'; ```, will limit the number of values passed in the IN operator to ‘3’ and displays an error message **“Condition exceeds maximum number of values allowed for IN operator”**, when more than 3 values are passed in the condition. To activate the **limit for IN operator**, please follow the below steps, * Open your Denodo Virtual DataPort Administration Tool and navigate to Tools> VQL Shell. * Execute the above command in your VQL Shell by changing the limit value based on your requirement. * Now, the limit will be set for the values passed in the IN operator. Hope this helps!
Denodo Team
11-10-2023 02:41:38 -0400
code
Dear Denodo Team, thanks, the limit is working as expected. Additional question: Is it also possible to define this limit only on database/view level? Regards, Gerhard
user
12-10-2023 08:10:52 -0400
Hi, I would also like to clarify that setting the hard limit for the values passed in the IN condition using the property would enable the feature at server level instead of a particular database or view level. In general, on executing the below property: ``` SET 'com.denodo.vdb.interpreter.parser.condition.maxValuesOnInOperator' = '<enter an integer greater than 0>'; ``` The property gets added up automatically to the VDBConfiguration.properties file which is located under the path **<DENODO_HOME>\conf\vdp\VDBConfiguration.properties**. Hence, please note that the SET command will modify the value only at server level and you could execute the command again in order to change the limit based on the requirement. If you still need further assistance and if you are a valid support user, you can raise a [Support Case](https://support.denodo.com/cases/add), for further assistance from the Support Team. Hope this helps!
Denodo Team
13-10-2023 06:33:04 -0400
code
You must sign in to add an answer. If you do not have an account, you can register here