| //- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| include /app/helpers/jade/mixins |
| include /app/configuration/mixins |
| |
| -var form = 'query' |
| -var model = '$ctrl.clonedCache' |
| |
| panel-collapsible(ng-form=form on-open=`ui.loadPanel('${form}')`) |
| panel-title Queries & Indexing |
| panel-description |
| | Cache queries settings. |
| a.link-success(href="https://apacheignite-sql.readme.io/docs/select" target="_blank") More info |
| panel-content.pca-form-row(ng-if=`ui.isPanelLoaded('${form}')`) |
| .pca-form-column-6.pc-form-grid-row |
| .pc-form-grid-col-60 |
| +form-field__text({ |
| label: 'SQL schema name:', |
| model: `${model}.sqlSchema`, |
| name: '"sqlSchema"', |
| placeholder: 'Input schema name', |
| tip: 'Cache group name.<br/>\ |
| Caches with the same group name share single underlying "physical" cache (partition set), but are logically isolated.' |
| }) |
| |
| //- Removed in ignite 2.0 |
| .pc-form-grid-col-60(ng-if='$ctrl.available(["1.0.0", "2.0.0"])') |
| +form-field__number({ |
| label: 'On-heap cache for off-heap indexes:', |
| model: `${model}.sqlOnheapRowCacheSize`, |
| name: '"sqlOnheapRowCacheSize"', |
| placeholder: '10240', |
| min: '1', |
| tip: 'Specify any custom name to be used as SQL schema for current cache. This name will correspond to SQL ANSI-99 standard.\ |
| Nonquoted identifiers are not case sensitive. Quoted identifiers are case sensitive.\ |
| When SQL schema is not specified, quoted cache name should used instead.<br/>\ |
| For example:\ |
| <ul>\ |
| <li>\ |
| Query without schema names (quoted cache names will be used):\ |
| SELECT * FROM "PersonsCache".Person p INNER JOIN "OrganizationsCache".Organization o on p.org = o.id\ |
| </li>\ |
| <li>\ |
| The same query using schema names "Persons" and "Organizations":\ |
| SELECT * FROM Persons.Person p INNER JOIN Organizations.Organization o on p.org = o.id\ |
| </li>\ |
| </ul>' |
| }) |
| |
| //- Deprecated in ignite 2.1 |
| .pc-form-grid-col-60(ng-if='$ctrl.available(["1.0.0", "2.1.0"])') |
| +form-field__number({ |
| label: 'Long query timeout:', |
| model: `${model}.longQueryWarningTimeout`, |
| name: '"longQueryWarningTimeout"', |
| placeholder: '3000', |
| min: '0', |
| tip: 'Timeout in milliseconds after which long query warning will be printed' |
| }) |
| .pc-form-grid-col-60 |
| +form-field__number({ |
| label: 'History size:', |
| model: `${model}.queryDetailMetricsSize`, |
| name: '"queryDetailMetricsSize"', |
| placeholder: '0', |
| min: '0', |
| tip: 'Size of queries detail metrics that will be stored in memory for monitoring purposes' |
| }) |
| .pc-form-grid-col-60 |
| mixin caches-query-list-sql-functions() |
| .ignite-form-field |
| -let items = `${model}.sqlFunctionClasses`; |
| |
| list-editable( |
| ng-model=items |
| list-editable-cols=`::[{ |
| name: 'SQL functions:', |
| tip: 'Collections of classes with user-defined functions for SQL queries' |
| }]` |
| ) |
| list-editable-item-view {{ $item }} |
| |
| list-editable-item-edit |
| +list-java-class-field('SQL function', '$item', '"sqlFunction"', items) |
| +form-field__error({ error: 'igniteUnique', message: 'SQL function with such class name already exists!' }) |
| |
| list-editable-no-items |
| list-editable-add-item-button( |
| add-item=`$editLast((${items} = ${items} || []).push(""))` |
| label-single='SQL function' |
| label-multiple='SQL functions' |
| ) |
| |
| - var form = '$parent.form' |
| +caches-query-list-sql-functions |
| - var form = 'query' |
| |
| //- Removed in ignite 2.0 |
| .pc-form-grid-col-60(ng-if='$ctrl.available(["1.0.0", "2.0.0"])') |
| +form-field__checkbox({ |
| label: 'Snapshotable index', |
| model: `${model}.snapshotableIndex`, |
| name: '"snapshotableIndex"', |
| tip: 'Flag indicating whether SQL indexes should support snapshots' |
| }) |
| |
| //- Since ignite 2.0 |
| .pc-form-grid-col-30(ng-if-start='$ctrl.available("2.0.0")') |
| +form-field__number({ |
| label: 'Query parallelism', |
| model: `${model}.queryParallelism`, |
| name: '"queryParallelism"', |
| placeholder: '1', |
| min: '1', |
| tip: 'A hint to query execution engine on desired degree of parallelism within a single node' |
| }) |
| .pc-form-grid-col-30(ng-if-end) |
| +form-field__number({ |
| label: 'SQL index max inline size:', |
| model: `${model}.sqlIndexMaxInlineSize`, |
| name: '"sqlIndexMaxInlineSize"', |
| placeholder: '-1', |
| min: '-1', |
| tip: 'Maximum inline size for sql indexes' |
| }) |
| .pc-form-grid-col-60(ng-if-start='$ctrl.available("2.4.0")') |
| +form-field__checkbox({ |
| label: 'Onheap cache enabled', |
| model: `${model}.sqlOnheapCacheEnabled`, |
| name: '"sqlOnheapCacheEnabled"', |
| tip: 'When enabled, Ignite will cache SQL rows as they are accessed by query engine' |
| }) |
| .pc-form-grid-col-60(ng-if-end) |
| +form-field__number({ |
| label: 'Onheap cache max size:', |
| model: `${model}.sqlOnheapCacheMaxSize`, |
| name: '"SqlOnheapCacheMaxSize"', |
| disabled: `!${model}.sqlOnheapCacheEnabled`, |
| placeholder: '0', |
| min: '0', |
| tip: 'Maximum SQL on-heap cache' |
| }) |
| .pc-form-grid-col-60 |
| +form-field__number({ |
| label: 'Max query iterators count:', |
| model: `${model}.maxQueryIteratorsCount`, |
| name: '"MaxQueryIteratorsCount"', |
| placeholder: '1024', |
| min: '1', |
| tip: 'Maximum number of query iterators that can be stored' |
| }) |
| .pc-form-grid-col-60 |
| +form-field__checkbox({ |
| label: 'Escape table and filed names', |
| model: `${model}.sqlEscapeAll`, |
| name: '"sqlEscapeAll"', |
| tip: 'If enabled than all schema, table and field names will be escaped with double quotes (for example: "tableName"."fieldName").<br/>\ |
| This enforces case sensitivity for field names and also allows having special characters in table and field names.<br/>\ |
| Escaped names will be used for creation internal structures in Ignite SQL engine.' |
| }) |
| |
| .pca-form-column-6 |
| +preview-xml-java(model, 'cacheQuery', 'domains') |