@Override public String getOption(StringValidator validator) { return getOptionSafe(validator).getStringVal(); } }
public String getFsPartitionColumnLabel() { return options.getOption(ExecConstants.FILESYSTEM_PARTITION_COLUMN_LABEL).getStringVal(); }
DirectBuilder(String sql, SqlNode sqlNode, boolean prepare) { this.sqlNode = sqlNode; this.prepare = prepare; this.sql = sql; final StoreQueryResultsPolicy storeQueryResultsPolicy = Optional .ofNullable(context.getOptions().getOption(STORE_QUERY_RESULTS.getOptionName())) .map(o -> StoreQueryResultsPolicy.valueOf(o.getStringVal().toUpperCase(Locale.ROOT))) .orElse(StoreQueryResultsPolicy.NO); this.storeResults = storeQueryResultsPolicy != StoreQueryResultsPolicy.NO; }
@Override public String getOption(StringValidator validator) { return getOption(validator.getOptionName()).getStringVal(); }
@Override public void validate(OptionValue v) { super.validate(v); try { CompilerPolicy.valueOf(v.getStringVal().toUpperCase()); } catch (IllegalArgumentException e) { throw UserException.validationError() .message("Invalid value '%s' specified for option '%s'. Valid values are %s.", v.getStringVal(), getOptionName(), Arrays.toString(CompilerPolicy.values())) .build(logger); } } };
public ExecutionControls(final OptionManager options, final NodeEndpoint endpoint) { this.endpoint = endpoint; if (!AssertionUtil.isAssertionsEnabled()) { return; } final OptionValue optionValue = options.getOption(ExecConstants.NODE_CONTROL_INJECTIONS); if (optionValue == null) { return; } final String opString = optionValue.getStringVal(); final Controls controls; try { controls = controlsOptionMapper.readValue(opString, Controls.class); } catch (final IOException e) { // This never happens. opString must have been validated. logger.warn("Could not parse injections. Injections must have been validated before this point."); throw new RuntimeException("Could not parse injections.", e); } if (controls.injections == null) { return; } logger.debug("Adding control injections: \n{}", opString); for (final Injection injection : controls.injections) { this.controls.put(new InjectionSite(injection.getSiteClass(), injection.getDesc()), injection); } }
@Override public void validate(final OptionValue v) { super.validate(v); if (!isValid(v.getStringVal())) { throw UserException.validationError() .message(String.format("Option %s must be one of: %s.", getOptionName(), valuesSet)) .build(logger); } }
@Override public void validate(final OptionValue v) { super.validate(v); if (!isValid(v.getStringVal())) { throw UserException.validationError() .message(String.format("Option %s must be one of: %s.", getOptionName(), valuesSet)) .build(logger); } }
private Writer getWriter(OptionManager options) throws IOException{ final StoreQueryResultsPolicy storeQueryResultsPolicy = Optional .ofNullable(options.getOption(STORE_QUERY_RESULTS.getOptionName())) .map(o -> StoreQueryResultsPolicy.valueOf(o.getStringVal().toUpperCase(Locale.ROOT))) .orElse(StoreQueryResultsPolicy.NO); final String storeTablePath = options.getOption(QUERY_RESULTS_STORE_TABLE.getOptionName()).getStringVal(); final Quoting quoting = Optional.ofNullable(context.getSession().getInitialQuoting()).orElse(ParserConfig.QUOTING); final List<String> storeTable =
@Override public void validate(final OptionValue v) { if (v.getType() != OptionType.SESSION) { throw UserException.validationError() .message("Controls can be set only at SESSION level.") .build(logger); } final String jsonString = v.getStringVal(); try { validateControlsString(jsonString); } catch (final IOException e) { throw UserException.validationError() .message(String.format("Invalid controls option string (%s) due to %s.", jsonString, e.getMessage())) .build(logger); } } }
public ClassBytes[] getClassByteCode(ClassNames className, String sourceCode) throws CompileException, ClassNotFoundException, ClassTransformationException, IOException { OptionValue value = sessionOptions.getOption(JAVA_COMPILER_OPTION); CompilerPolicy policy = (value != null) ? CompilerPolicy.valueOf(value.getStringVal().toUpperCase()) : defaultPolicy;
public FilterOperator(Filter pop, OperatorContext context) throws OutOfMemoryException { this.config = pop; this.context = context; this.filterOptions = new ExpressionEvaluationOptions(context.getOptions()); this.filterOptions.setCodeGenOption(context.getOptions().getOption(ExecConstants.QUERY_EXEC_OPTION.getOptionName()).getStringVal()); this.output = context.createOutputVectorContainerWithSV(); }
public ProjectOperator(final OperatorContext context, final Project config) throws OutOfMemoryException { this.config = config; this.context = context; this.projectorOptions = new ExpressionEvaluationOptions(context.getOptions()); this.projectorOptions.setCodeGenOption(context.getOptions().getOption(ExecConstants.QUERY_EXEC_OPTION.getOptionName()).getStringVal()); this.outgoing = context.createOutputVectorContainer(); }
@Test public void testTPCHReadWriteDictGzip() throws Exception { try { test(String.format("alter session set \"%s\" = 'gzip'", ExecConstants.PARQUET_WRITER_COMPRESSION_TYPE)); String inputTable = "cp.\"tpch/supplier.parquet\""; runTestAndValidate("*", "*", inputTable, "supplier_parquet_dict_gzip", false); } finally { test(String.format("alter session set \"%s\" = '%s'", ExecConstants.PARQUET_WRITER_COMPRESSION_TYPE, ExecConstants.PARQUET_WRITER_COMPRESSION_TYPE_VALIDATOR.getDefault().getStringVal())); } }
final StoreQueryResultsPolicy storeQueryResultsPolicy = Optional .ofNullable(options.getOption(STORE_QUERY_RESULTS.getOptionName())) .map(o -> StoreQueryResultsPolicy.valueOf(o.getStringVal().toUpperCase(Locale.ROOT))) .orElse(StoreQueryResultsPolicy.NO); final String storeTablePath = options.getOption(QUERY_RESULTS_STORE_TABLE.getOptionName()).getStringVal(); final List<String> storeTable = new StrTokenizer(storeTablePath, '.', config.quoting().string.charAt(0))
@Test public void testTPCHReadWriteNoDictUncompressed() throws Exception { try { test(String.format("alter session set \"%s\" = false", ExecConstants.PARQUET_WRITER_ENABLE_DICTIONARY_ENCODING)); test(String.format("alter session set \"%s\" = 'none'", ExecConstants.PARQUET_WRITER_COMPRESSION_TYPE)); String inputTable = "cp.\"tpch/supplier.parquet\""; runTestAndValidate("*", "*", inputTable, "supplier_parquet_no_dict_uncompressed", false); } finally { test(String.format("alter session set \"%s\" = %b", ExecConstants.PARQUET_WRITER_ENABLE_DICTIONARY_ENCODING, ExecConstants.PARQUET_WRITER_ENABLE_DICTIONARY_ENCODING_VALIDATOR.getDefault().getBoolVal())); test(String.format("alter session set \"%s\" = '%s'", ExecConstants.PARQUET_WRITER_COMPRESSION_TYPE, ExecConstants.PARQUET_WRITER_COMPRESSION_TYPE_VALIDATOR.getDefault().getStringVal())); } }
@Override public boolean createOrUpdateView(NamespaceKey key, View view, SchemaConfig schemaConfig) throws IOException { if(!getMutability().hasMutationCapability(MutationType.VIEW, schemaConfig.isSystemUser())) { throw UserException.parseError() .message("Unable to create view. Schema [%s] is immutable for this user.", key.getParent()) .build(logger); } Path viewPath = getViewPath(key.getPathComponents()); FileSystemWrapper fs = getFS(schemaConfig.getUserName()); boolean replaced = fs.exists(viewPath); final FsPermission viewPerms = new FsPermission(schemaConfig.getOption(ExecConstants.NEW_VIEW_DEFAULT_PERMS_KEY).getStringVal()); try (OutputStream stream = FileSystemWrapper.create(fs, viewPath, viewPerms)) { lpPersistance.getMapper().writeValue(stream, view); } return replaced; }
@Override public OptionValueWrapper next() { final OptionValue value = mergedOptions.next(); final Status status; if (value.getType() == OptionType.BOOT) { status = Status.BOOT; } else { final OptionValue def = fragmentOptions.getValidator(value.getName()).getDefault(); if (value.equalsIgnoreType(def)) { status = Status.DEFAULT; } else { status = Status.CHANGED; } } return new OptionValueWrapper(value.getName(), value.getKind(), value.getType(), value.getNumVal(), value.getStringVal(), value.getBoolVal(), value.getFloatVal(), status); }
@SuppressWarnings("rawtypes") private Setting toSetting(OptionValue option){ // display the value if it is the whitelist or has been set. final boolean showOutsideWhitelist = options.isSet(option.getName()); switch(option.getKind()){ case BOOLEAN: return new Setting.BooleanSetting(option.getName(), option.getBoolVal(), showOutsideWhitelist); case DOUBLE: return new Setting.FloatSetting(option.getName(), option.getFloatVal(), showOutsideWhitelist); case LONG: return new Setting.IntegerSetting(option.getName(), option.getNumVal(), showOutsideWhitelist); case STRING: return new Setting.TextSetting(option.getName(), option.getStringVal(), showOutsideWhitelist); default: throw new IllegalStateException("Unable to handle kind " + option.getKind()); } } }