blob: 554a124b1bcdcce874c3cbd7da1a3d9f6b711c51 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<!-- Always force latest IE rendering engine or request Chrome Frame -->
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
<link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,400italic,400,600' rel='stylesheet' type='text/css'>
<!-- Use title if it's in the page YAML frontmatter -->
<title>
WHERE Clause |
Geode Docs
</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/stylesheets/all.css" rel="stylesheet" media="screen, print" />
<link href="/stylesheets/print.css" rel="stylesheet" media="print" />
<link href='/images/favicon.ico' rel='shortcut icon'>
<script src="/javascripts/all.js"></script>
</head>
<body class="docs docs_guide docs_guide_15 docs_guide_15_developing docs_guide_15_developing_query_select docs_guide_15_developing_query_select_the_where_clause has-subnav">
<div class="viewport">
<div class='wrap'>
<script type="text/javascript">
document.domain = "apache.org";
</script>
<header class="header header-layout">
<h1 class="logo">
<a href="/">Apache Geode Documentation</a>
</h1>
<div class="header-links js-bar-links">
<div class="btn-menu" data-behavior="MenuMobile"></div>
<div class="header-item"><a href="http://geode.apache.org/">Back to Geode Page</a></div>
<div class="header-item">
<a href="http://geode.apache.org/community" target="_blank">Community</a>
</div>
</div>
</header>
<div class="container">
<!--googleoff: index-->
<!--
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.
-->
<div id="sub-nav" class="js-sidenav nav-container" role="navigation">
<a class="sidenav-title" data-behavior="SubMenuMobile">
Doc Index
</a>
<div class="nav-content">
<ul>
<li>
<a href="/docs/guide/15/about_geode.html">Apache Geode Documentation</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/getting_started/book_intro.html">Getting Started with Apache Geode</a>
<ul>
<li>
<a href="/docs/guide/15/getting_started/geode_overview.html">About Apache Geode</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/product_intro.html">Main Features of Apache Geode</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/prereq_and_install.html">Prerequisites and Installation Instructions</a>
<ul>
<li>
<a href="/docs/guide/15/getting_started/system_requirements/host_machine.html">Host Machine Requirements</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/installation/install_standalone.html">How to Install</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/setup_classpath.html">Setting Up the CLASSPATH</a>
</li>
<li>
<a href="/docs/guide/15/getting_started/uninstall_geode.html">How to Uninstall</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/getting_started/15_minute_quickstart_gfsh.html">Apache Geode in 15 Minutes or Less</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/configuring/chapter_overview.html">Configuring and Running a Cluster</a>
<ul>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_persist.html">Overview of the Cluster Configuration Service</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/persisting_configurations.html">Tutorial—Creating and Using a Cluster Configuration</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/deploying_application_jars.html">Deploying Application JARs to Apache Geode Members</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/using_member_groups.html">Using Member Groups</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/export-import.html">Exporting and Importing Cluster Configurations</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_config_troubleshooting.html">Cluster Configuration Files and Troubleshooting</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_load_from_shared_dir.html">Loading Existing Configuration Files into Cluster Configuration</a>
</li>
<li>
<a href="/docs/guide/15/configuring/cluster_config/gfsh_remote.html">Using gfsh to Manage a Remote Cluster Over HTTP or HTTPS</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/configuring/running/deploying_config_files.html">Deploying Configuration Files without the Cluster Configuration Service</a>
<ul>
<li>
<a href="/docs/guide/15/configuring/running/deploy_config_files_intro.html">Main Steps to Deploying Configuration Files</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/default_file_specs.html">Default File Specifications and Search Locations</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/change_file_spec.html">Changing the File Specifications</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/deploying_config_jar_files.html">Deploying Configuration Files in JAR Files</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/configuring/running/starting_up_shutting_down.html">Starting Up and Shutting Down Your System</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/running_the_locator.html">Running Geode Locator Processes</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/running_the_cacheserver.html">Running Geode Server Processes</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/managing_output_files.html">Managing System Output Files</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/configuring/running/firewall_ports_config.html">Firewall Considerations</a>
<ul>
<li>
<a href="/docs/guide/15/configuring/running/firewalls_connections.html">Firewalls and Connections</a>
</li>
<li>
<a href="/docs/guide/15/configuring/running/firewalls_ports.html">Firewalls and Ports</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/book_intro.html">Basic Configuration and Programming</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/config_concepts/chapter_overview.html">
Distributed System and Cache Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/config_concepts/distributed_system_member_configuration.html">Distributed System Members</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/gemfire_properties/setting_distributed_properties.html">Setting Properties</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/setting_cache_properties.html">Options for Configuring the Cache and Data Regions
</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/config_concepts/local_vs_remote.html">Local and Remote Membership and Caching</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/the_cache/chapter_overview.html">Cache Management</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/the_cache/intro_cache_management.html">Introduction to Cache Management</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_peer_server_cache.html">Managing a Peer or Server Cache</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_client_cache.html">Managing a Client Cache</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_secure_cache.html">Managing a Cache in a Secure System</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/managing_a_multiuser_cache.html">Managing RegionServices for Multiple Secure Users</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/the_cache/setting_cache_initializer.html">Launching an Application after Initializing the Cache</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/data_regions/chapter_overview.html">Data Regions</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/data_regions/managing_data_regions.html">Region Management</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/region_naming.html">Region Naming</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/region_shortcuts.html">Region Shortcuts and Custom Named Region Attributes</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/store_retrieve_region_shortcuts.html">Storing and Retrieving Region Shortcuts and Custom Named Region Attributes</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/managing_region_attributes.html">Managing Region Attributes</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/creating_custom_attributes.html">Creating Custom Attributes for Regions and Entries</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_regions/new_region_existing_data.html">Building a New Region with Existing Content</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/basic_config/data_entries_custom_classes/chapter_overview.html">
Data Entries
</a>
<ul>
<li>
<a href="/docs/guide/15/basic_config/data_entries_custom_classes/managing_data_entries.html">Managing Data Entries</a>
</li>
<li>
<a href="/docs/guide/15/basic_config/data_entries_custom_classes/using_custom_classes.html">Requirements for Using Custom Classes in Data Caching</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/book_intro.html">Topologies and Communication</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/chapter_overview.html">Topology and Communication General Concepts</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/topology_types.html">Topology Types</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/member_communication.html">Planning Topology and Communication
</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_member_discovery_works.html">How Member Discovery Works</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_communication_works.html">How Communication Works</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/using_bind_addresses.html">Using Bind Addresses</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/IPv4_and_IPv6.html">Choosing Between IPv4 and IPv6</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/chapter_overview.html">Peer-to-Peer Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/setting_up_a_p2p_system.html">Configuring Peer-to-Peer Discovery</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/setting_up_peer_communication.html">Configuring Peer Communication</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/p2p_configuration/configuring_peer_member_groups.html">Organizing Peers into Logical Member Groups</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/chapter_overview.html">Client/Server Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/standard_client_server_deployment.html">Standard Client/Server Deployment</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_server_discovery_works.html">How Server Discovery Works</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_the_pool_manages_connections.html">How Client/Server Connections Work</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/setting_up_a_client_server_system.html">Configuring a Client/Server System</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/configure_servers_into_logical_groups.html">Organizing Servers Into Logical Member Groups</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/client_server_example_configurations.html">Client/Server Example Configurations</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/cs_configuration/client_server_whats_next.html">Fine-Tuning Your Client/Server Configuration</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/chapter_overview.html">Multi-site (WAN) Configuration</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/how_multisite_systems_work.html">How Multi-site (WAN) Systems Work</a>
<ul>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_70045702D3994BC692E75102CE01BD7C">
Overview of Multi-site Caching</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_C74A0961937640B199396DC925D8D782">Consistency for WAN Updates</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_1742957C8D4B4F7590847EB8DB6CD4F7">Discovery for Multi-Site Systems</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_9AA37B43642D4DE19072CA3367C849BA">Gateway Senders</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/topology_concepts/multisite_overview.html#topic_4DB3D9CF01AD4F4899457D1250468D00">Gateway Receivers</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/multisite_topologies.html">Multi-site (WAN) Topologies</a>
</li>
<li>
<a href="/docs/guide/15/topologies_and_comm/multi_site_configuration/setting_up_a_multisite_system.html">Configuring a Multi-site (WAN) System</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/filtering_multisite_events.html">Filtering Events for Multi-Site (WAN) Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/resolving_multisite_conflicts.html">Resolving Conflicting Events</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/book_intro.html">Managing Apache Geode</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/management_and_monitoring.html">Apache Geode Management and Monitoring</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/management_and_monitoring_features.html">Management and Monitoring Features</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/mm_overview.html">Overview of Geode Management and Monitoring Tools</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/management_system_overview.html">
Architecture and Components</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/jmx_manager_node.html#topic_36C918B4202D45F3AC225FFD23B12D7C">JMX Manager Operations</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/jmx_manager_operations.html">Starting a JMX Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/jmx_manager_operations.html#topic_263072624B8D4CDBAD18B82E07AA44B6">Configuring a JMX Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/jmx_manager_operations.html#topic_5B6DF783A14241399DC25C6EE8D0048A">Stopping a JMX Manager</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/mbean_architecture.html">Federated MBean Architecture</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/list_of_mbeans.html">List of Geode JMX MBeans</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbeans_full.html">JMX Manager MBeans</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbeans_full.html#topic_48194A5BDF3F40F68E95A124DD702413">Managed Node MBeans</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/management/mbeans_jconsole.html">Browsing Geode MBeans through JConsole</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/mbean_notifications.html">Geode JMX MBean Notifications</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/notification_federation_and_alerts.html">Notification Federation</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html">List of JMX MBean Notifications</a>
<ul>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#reference_czt_hq2_vj">MemberMXBean Notifications</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#reference_dzt_hq2_vj">MemberMXBean Gateway Notifications</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#cacheservermxbean_notifications">CacheServerMXBean Notifications</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/list_of_mbean_notifications.html#distributedsystemmxbean_notifications">DistributedSystemMXBean Notifications</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/management/configuring_rmi_connector.html">Configuring RMI Registry Ports and RMI Connectors</a>
</li>
<li>
<a href="/docs/guide/15/managing/management/gfsh_and_management_api.html">Executing gfsh Commands through the Management API</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/heap_use/heap_management.html">Managing Heap and Off-heap Memory</a>
<ul>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#section_590DA955523246ED980E4E351FF81F71">Tuning the JVM's Garbage Collection Parameters</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#how_the_resource_manager_works">Using the Geode Resource Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#configuring_resource_manager_controlling_heap_use">Controlling Heap Use with the Resource Manager</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#configuring_resource_manager__section_4949882892DA46F6BB8588FA97037F45">Configure Geode for Heap LRU Management</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#set_jvm_gc_tuning_params">Set the JVM GC Tuning Parameters</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#configuring_resource_manager__section_DE1CC494C2B547B083AA00821250972A">Monitor and Tune Heap LRU Configurations</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/heap_management.html#resource_manager_example_configurations">Resource Manager Example Configurations</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/off_heap_management.html">Managing Off-Heap Memory</a>
</li>
<li>
<a href="/docs/guide/15/managing/heap_use/lock_memory.html">Locking Memory (Linux Systems Only)</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/disk_storage/chapter_overview.html">Disk Storage</a>
<ul>
<li>
<a href="/docs/guide/15/managing/disk_storage/how_disk_stores_work.html">How Disk Stores Work</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/file_names_and_extensions.html">Disk Store File Names and Extensions</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/operation_logs.html">Disk Store Operation Logs</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/disk_storage/overview_using_disk_stores.html">Configuring Disk Stores</a>
<ul>
<li>
<a href="/docs/guide/15/managing/disk_storage/using_disk_stores.html">Designing and Configuring Disk Stores</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/disk_store_configuration_params.html">Disk Store Configuration Parameters</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/using_the_default_disk_store.html">Modifying the Default Disk Store</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/optimize_availability_and_performance.html">
Optimizing a System with Disk Stores</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/starting_system_with_disk_stores.html">Start Up and Shut Down with Disk Stores</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/disk_storage/managing_disk_stores.html">Disk Store Management</a>
<ul>
<li>
<a href="/docs/guide/15/managing/disk_storage/managing_disk_stores_cmds.html">Disk Store Management Commands and Operations</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/validating_disk_store.html">Validating a Disk Store</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/compacting_disk_stores.html">Running Compaction on Disk Store Log Files</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/keeping_offline_disk_store_in_sync.html">Keeping a Disk Store Synchronized with the Cache</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/disk_free_space_monitoring.html">Configuring Disk Free Space Monitoring
</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/handling_missing_disk_stores.html">Handling Missing Disk Stores</a>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/managing_disk_buffer_flushes.html">Altering When Buffers Are Flushed to Disk</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/disk_storage/backup_restore_disk_store.html">Creating Backups for System Recovery and Operational Management</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/cache_snapshots/chapter_overview.html">Cache and Region Snapshots</a>
<ul>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/using_cache_and_region_snapshots.html">Usage and Performance Notes</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/exporting_a_snapshot.html">Exporting Cache and Region Snapshots</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/importing_a_snapshot.html">Importing Cache and Region Snapshots</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/filtering_snapshot_entries.html">Filtering Entries During Import or Export</a>
</li>
<li>
<a href="/docs/guide/15/managing/cache_snapshots/read_snapshots_programmatically.html">Reading Snapshots Programmatically</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/region_compression.html">Region Compression</a>
<ul>
<li>
<a href="/docs/guide/15/managing/region_compression.html#concept_a2c_rhc_gl">Guidelines on Using Compression</a>
</li>
<li>
<a href="/docs/guide/15/managing/region_compression.html#topic_inm_whc_gl">How to Enable Compression in a Region</a>
</li>
<li>
<a href="/docs/guide/15/managing/region_compression.html#topic_hqf_syj_g4">Working with Compressors
</a>
</li>
<li>
<a href="/docs/guide/15/managing/region_compression.html#topic_omw_j3c_gl">Comparing Performance of Compressed and Non-Compressed Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/network_partitioning/chapter_overview.html">Network Partitioning</a>
<ul>
<li>
<a href="/docs/guide/15/managing/network_partitioning/how_network_partitioning_management_works.html">How Network Partitioning Management Works</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/failure_detection.html">Failure Detection and Membership Views</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/membership_coordinators_lead_members_and_weighting.html">Membership Coordinators, Lead Members and Member Weighting</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/network_partitioning_scenarios.html">Network Partitioning Scenarios</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/handling_network_partitioning.html">Configure Apache Geode to Handle Network Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/managing/network_partitioning/preventing_network_partitions.html">Preventing Network Partitions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/chapter_overview.html">Security</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_security.html">Security Implementation Introduction and Overview</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/security_audit_overview.html">Security Detail Considerations</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/security-audit.html">External Interfaces, Ports, and Services</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/security-audit.html#topic_263072624B8D4CDBAD18B82E07AA44B6">Resources That Must Be Protected</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/security-audit.html#topic_5B6DF783A14241399DC25C6EE8D0048A">Log File Locations</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/properties_file.html">Where to Place Security Configuration Settings</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/security/enable_security.html">Enable Security with Property Definitions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/authentication_overview.html">Authentication</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_authentication.html">Implementing Authentication</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/authentication_examples.html">Authentication Example</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/authorization_overview.html">Authorization</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_authorization.html">Implementing Authorization</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/authorization_example.html">Authorization Example</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/security/post_processing.html">Post Processing of Region Data</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/ssl_overview.html">SSL</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/managing/security/implementing_ssl.html">Configuring SSL</a>
<ul>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#ssl_configurable_components">SSL-Configurable Components</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#ssl_configuration_properties">SSL Configuration Properties</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#ssl_property_reference_tables">SSL Property Reference Tables</a>
</li>
<li>
<a href="/docs/guide/15/managing/security/implementing_ssl.html#implementing_ssl__sec_ssl_impl_proc">Procedure</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/security/ssl_example.html">SSL Sample Implementation</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/chapter_overview.html">Performance Tuning and Configuration</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/disabling_tcp_syn_cookies.html">Disabling TCP SYN Cookies</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_on_vsphere.html">Improving Performance on vSphere</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/performance_controls.html">Performance Controls</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_data_serialization.html">Data Serialization</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_setting_cache_timeouts.html">Setting Cache Timeouts</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_controlling_socket_use.html">Controlling Socket Use</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_managing_slow_receivers.html">Management of Slow Receivers</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/performance_controls_increasing_cache_hits.html">Increasing the Ratio of Cache Hits</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance.html">System Member Performance</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_distributed_system_member.html">Distributed System Member Properties</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_jvm_mem_settings.html">JVM Memory Settings and System Performance</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_garbage.html">Garbage Collection and System Performance</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/system_member_performance_connection_thread_settings.html">Connection Thread Settings and Performance</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/slow_receivers.html">Slow Receivers with TCP/IP</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/slow_receivers_preventing_problems.html">Preventing Slow Receivers</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/slow_receivers_managing.html">Managing Slow Receivers</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/slow_messages.html">Slow distributed-ack Messages</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/socket_communication.html">Socket Communication</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_setting_socket_buffer_sizes.html">Setting Socket Buffer Sizes</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_ephemeral_tcp_port_limits.html">Ephemeral TCP Port Limits</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_have_enough_sockets.html">Making Sure You Have Enough Sockets</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_tcp_keepalive.html">TCP/IP KeepAlive Configuration</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/socket_communication_tcpip_p2p_handshake_timeouts.html">TCP/IP Peer-to-Peer Handshake Timeouts</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/udp_communication.html">UDP Communication</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication.html">Multicast Communication</a>
<ul>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_provisioning_bandwidth.html">Provisioning Bandwidth for Multicast</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_testing_multicast_speed_limits.html">Testing Multicast Speed Limits</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_configuring_speed_limits.html">Configuring Multicast Speed Limits</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_runtime_considerations.html">Run-time Considerations for Multicast</a>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/multicast_communication_troubleshooting.html">Troubleshooting the Multicast Tuning Process</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/monitor_tune/cache_consistency.html">Maintaining Cache Consistency</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/logging/logging.html">Logging</a>
<ul>
<li>
<a href="/docs/guide/15/managing/logging/how_logging_works.html">How Geode Logging Works</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/logging_categories.html">Understanding Log Messages and Their Categories</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/logging_whats_next.html">Naming, Searching, and Creating Log Files</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/setting_up_logging.html">Set Up Logging</a>
</li>
<li>
<a href="/docs/guide/15/managing/logging/configuring_log4j2.html">Advanced Users—Configuring Log4j 2 for Geode</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/statistics/chapter_overview.html">Statistics</a>
<ul>
<li>
<a href="/docs/guide/15/managing/statistics/how_statistics_work.html">How Statistics Work</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/transient_region_and_entry_statistics.html">Transient Region and Entry Statistics</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/application_defined_statistics.html">Application-Defined and Custom Statistics</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/setting_up_statistics.html">Configuring and Using Statistics</a>
</li>
<li>
<a href="/docs/guide/15/managing/statistics/viewing_statistics.html">Viewing Archived Statistics</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/troubleshooting/chapter_overview.html">Troubleshooting and System Recovery</a>
<ul>
<li>
<a href="/docs/guide/15/managing/troubleshooting/producing_troubleshooting_artifacts.html">Producing Artifacts for Troubleshooting</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/diagnosing_system_probs.html">Diagnosing System Problems</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/system_failure_and_recovery.html">System Failure and Recovery</a>
</li>
<li>
<a href="/docs/guide/15/managing/member-reconnect.html">Handling Forced Cache Disconnection Using Autoreconnect</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_app_crashes.html">Recovering from Application and Cache Server Crashes</a>
<ul>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_p2p_crashes.html">Recovering from Crashes with a Peer-to-Peer Configuration</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_cs_crashes.html">Recovering from Crashes with a Client/Server Configuration</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_machine_crashes.html">Recovering from Machine Crashes</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_conflicting_data_exceptions.html">Recovering from ConfictingPersistentDataExceptions</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/prevent_and_recover_disk_full_errors.html">Preventing and Recovering from Disk Full Errors</a>
</li>
<li>
<a href="/docs/guide/15/managing/troubleshooting/recovering_from_network_outages.html">Understanding and Recovering from Network Outages</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/book_intro.html">Developing with Apache Geode</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/region_options/chapter_overview.html">
Region Data Storage and Distribution</a>
<ul>
<li>
<a href="/docs/guide/15/developing/region_options/storage_distribution_options.html">
Storage and Distribution Options</a>
</li>
<li>
<a href="/docs/guide/15/developing/region_options/region_types.html">Region Types</a>
</li>
<li>
<a href="/docs/guide/15/developing/region_options/data_hosts_and_accessors.html">Region Data Stores and Data Accessors</a>
</li>
<li>
<a href="/docs/guide/15/developing/region_options/dynamic_region_creation.html">Creating Regions Dynamically</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/chapter_overview.html">Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/how_partitioning_works.html">Understanding Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/managing_partitioned_regions.html">Configuring Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/configuring_bucket_for_pr.html">Configuring the Number of Buckets for a Partitioned Region</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/overview_custom_partitioning_and_data_colocation.html">Custom-Partitioning and Colocating Data</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/custom_partitioning_and_data_colocation.html">Understanding Custom Partitioning and Data Colocation</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/standard_custom_partitioning.html">Standard Custom Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/fixed_custom_partitioning.html">Fixed Custom Partitioning</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/colocating_partitioned_region_data.html">Colocate Data from Different Partitioned Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/overview_how_pr_ha_works.html">Configuring High Availability for Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/how_pr_ha_works.html">Understanding High Availability for Partitioned Regions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/configuring_ha_for_pr.html">Configure High Availability for a Partitioned Region</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_pr_redundancy.html">Set the Number of Redundant Copies</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_redundancy_zones.html">Configure Redundancy Zones for Members</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_enforce_unique_host.html">Set Enforce Unique Host</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_crash_redundancy_recovery.html">Configure Member Crash Redundancy Recovery for a Partitioned Region</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/set_join_redundancy_recovery.html">Configure Member Join Redundancy Recovery for a Partitioned Region</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/partitioned_regions/overview_how_pr_single_hop_works.html">Configuring Single-Hop Client Access to Server-Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/how_pr_single_hop_works.html">Understanding Client Single-Hop Access to Server-Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/configure_pr_single_hop.html">Configure Client Single-Hop Access to Server-Partitioned Regions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/rebalancing_pr_data.html">Rebalancing Partitioned Region Data</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/checking_region_redundancy.html">Checking Redundancy in Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/moving_partitioned_data.html">Moving Partitioned Region Data to Another Member</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/distributed_regions/chapter_overview.html">
Distributed and Replicated Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_distribution_works.html">How Distribution Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/choosing_level_of_dist.html">Options for Region Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_replication_works.html">How Replication and Preloading Work</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/managing_distributed_regions.html">Configure Distributed, Replicated, and Preloaded Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/locking_in_global_regions.html">Locking in Global Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/distributed_regions/region_entry_versions.html">Consistency for Region Updates</a>
<ul>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_7A4B6C6169BD4B1ABD356294F744D236">
Consistency Checking by Region Type</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_B64891585E7F4358A633C792F10FA23E">Configuring Consistency Checking</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_0BDACA590B2C4974AC9C450397FE70B2">Overhead for Consistency Checks</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_C5B74CCDD909403C815639339AA03758">How Consistency Checking Works for Replicated Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_321B05044B6641FCAEFABBF5066BD399">How Destroy and Clear Operations Are Resolved</a>
</li>
<li>
<a href="/docs/guide/15/developing/distributed_regions/how_region_versioning_works.html#topic_32ACFA5542C74F3583ECD30467F352B0">Transactions with Consistent Regions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/general_region_data_management.html">General Region Data Management</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/storing_data_on_disk/chapter_overview.html">Persistence and Overflow</a>
<ul>
<li>
<a href="/docs/guide/15/developing/storing_data_on_disk/how_persist_overflow_work.html">How Persistence and Overflow Work</a>
</li>
<li>
<a href="/docs/guide/15/developing/storing_data_on_disk/storing_data_on_disk.html">Configure Region Persistence and Overflow</a>
</li>
<li>
<a href="/docs/guide/15/developing/storing_data_on_disk/overflow_config_examples.html">Overflow Configuration Examples</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/eviction/chapter_overview.html">Eviction</a>
<ul>
<li>
<a href="/docs/guide/15/developing/eviction/how_eviction_works.html">How Eviction Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/eviction/configuring_data_eviction.html">Configure Data Eviction</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/expiration/chapter_overview.html">Expiration</a>
<ul>
<li>
<a href="/docs/guide/15/developing/expiration/how_expiration_works.html">How Expiration Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/expiration/configuring_data_expiration.html">Configure Data Expiration</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/outside_data_sources/sync_outside_data.html">Keeping the Cache in Sync with Outside Data Sources</a>
<ul>
<li>
<a href="/docs/guide/15/developing/outside_data_sources/chapter_overview.html">Overview of Outside Data Sources</a>
</li>
<li>
<a href="/docs/guide/15/developing/outside_data_sources/how_data_loaders_work.html">How Data Loaders Work</a>
</li>
<li>
<a href="/docs/guide/15/developing/outside_data_sources/implementing_data_loaders.html">Implement a Data Loader</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/data_serialization/chapter_overview.html">Data Serialization</a>
<ul>
<li>
<a href="/docs/guide/15/developing/data_serialization/data_serialization_options.html">Overview of Data Serialization</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/data_serialization/gemfire_pdx_serialization.html">Geode PDX Serialization</a>
<ul>
<li>
<a href="/docs/guide/15/developing/data_serialization/PDX_Serialization_Features.html">Geode PDX Serialization Features</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/use_pdx_high_level_steps.html">High Level Steps for Using PDX Serialization
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/data_serialization/auto_serialization.html">Using Automatic Reflection-Based PDX Serialization</a>
<ul>
<li>
<a href="/docs/guide/15/developing/data_serialization/autoserialization_with_class_pattern_strings.html">Customizing Serialization with Class Pattern Strings</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/extending_the_autoserializer.html">Extending the ReflectionBasedAutoSerializer</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/use_pdx_serializer.html">Serializing Your Domain Object with a PdxSerializer</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/use_pdx_serializable.html">Implementing PdxSerializable in Your Domain Object</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/program_application_for_pdx.html">Programming Your Application to Use PdxInstances</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/jsonformatter_pdxinstances.html">Adding JSON Documents to the Geode Cache</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/using_PdxInstanceFactory.html">Using PdxInstanceFactory to Create PdxInstances</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/persist_pdx_metadata_to_disk.html">Persisting PDX Metadata to Disk</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/using_pdx_region_entry_keys.html">Using PDX Objects as Region Entry Keys</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/gemfire_data_serialization.html">Geode Data Serialization (DataSerializable and DataSerializer)</a>
</li>
<li>
<a href="/docs/guide/15/developing/data_serialization/java_serialization.html">Standard Java Serialization</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/chapter_overview.html">Events and Event Handling</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/how_events_work.html">How Events Work</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/how_cache_events_work.html">Peer-to-Peer Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/how_client_server_distribution_works.html">Client-to-Server Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/how_multisite_distribution_works.html">
Multi-Site (WAN) Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/list_of_event_handlers_and_events.html">List of Event Handlers and Events</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/event_handler_overview.html">Implementing Geode Event Handlers</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/implementing_cache_event_handlers.html">Implementing Cache Event Handlers</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/implementing_write_behind_event_handler.html">Implementing an AsyncEventListener for Write-Behind Cache Event Handling</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/writing_callbacks_that_modify_the_cache.html">How to Safely Modify the Cache from an Event Handler Callback</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/cache_event_handler_examples.html">Cache Event Handler Examples</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/events/configure_p2p_event_messaging.html">Configuring Peer-to-Peer Event Messaging</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/configure_client_server_event_messaging.html">Configuring Client/Server Event Messaging
</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/configuring_highly_available_servers.html">Configuring Highly Available Servers</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/ha_event_messaging_whats_next.html">Highly Available Client/Server Event Messaging</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/events/implementing_durable_client_server_messaging.html">Implementing Durable Client/Server Messaging</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/tune_client_server_event_messaging.html">Tuning Client/Server Event Messaging</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/conflate_server_subscription_queue.html">Conflate the Server Subscription Queue</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/limit_server_subscription_queue_size.html">Limit the Server's Subscription Queue Memory Use
</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/tune_client_message_tracking_timeout.html">Tune the Client's Subscription Message Tracking Timeout</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/events/configure_multisite_event_messaging.html">Configuring Multi-Site (WAN) Event Queues</a>
<ul>
<li>
<a href="/docs/guide/15/developing/events/configuring_highly_available_gateway_queues.html">Persisting an Event Queue</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/configuring_gateway_concurrency_levels.html">Configuring Dispatcher Threads and Order Policy for Event Distribution</a>
</li>
<li>
<a href="/docs/guide/15/developing/events/conflate_multisite_gateway_queue.html">Conflating Events in a Queue</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/delta_propagation/chapter_overview.html">
Delta Propagation</a>
<ul>
<li>
<a href="/docs/guide/15/developing/delta_propagation/how_delta_propagation_works.html">How Delta Propagation Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/when_to_use_delta_prop.html">When to Avoid Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/delta_propagation_properties.html">Delta Propagation Properties</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/implementing_delta_propagation.html">Implementing Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/errors_in_delta_propagation.html">Errors In Delta Propagation</a>
</li>
<li>
<a href="/docs/guide/15/developing/delta_propagation/delta_propagation_example.html">Delta Propagation Example</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/chapter_overview.html">Querying</a>
<ul>
<li>
<a href="/docs/guide/15/getting_started/querying_quick_reference.html">Geode Querying FAQ and Examples</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/query_basics.html">Querying with OQL</a>
<ul>
<li>
<a href="/docs/guide/15/developing/querying_basics/oql_compared_to_sql.html">Advantages of OQL</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/running_a_query.html">Writing and Executing a Query in Geode</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/what_is_a_query_string.html">Building a Query String</a>
<ul>
<li>
<a href="/docs/guide/15/developing/query_select/the_import_statement.html">IMPORT Statement</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/the_from_clause.html">FROM Clause</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/the_where_clause.html">WHERE Clause</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/the_select_statement.html">SELECT Statement</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_select/aggregates.html">OQL Aggregate Functions</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/query_additional/query_language_features.html">OQL Syntax and Semantics</a>
<ul>
<li>
<a href="/docs/guide/15/developing/querying_basics/supported_character_sets.html">Supported Character Sets</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/supported_keywords.html">Supported Keywords</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/case_sensitivity.html">Case Sensitivity</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/comments_in_query_strings.html">Comments in Query Strings</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/query_grammar_and_reserved_words.html">Query Language Grammar</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/operators.html">Operators</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/reserved_words.html">Reserved Words</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/literals.html">Supported Literals</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/restrictions_and_unsupported_features.html">Query Language Restrictions and Unsupported Features</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/query_additional/advanced_querying.html">Advanced Querying</a>
<ul>
<li>
<a href="/docs/guide/15/developing/querying_basics/performance_considerations.html">Performance Considerations</a>
</li>
<li>
<a href="/docs/guide/15/developing/querying_basics/monitor_queries_for_low_memory.html">Monitoring Queries for Low Memory</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/using_query_bind_parameters.html">Using Query Bind Parameters</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/querying_basics/querying_partitioned_regions.html">
Querying Partitioned Regions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/query_additional/order_by_on_partitioned_regions.html">Using ORDER BY on Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/query_on_a_single_node.html">Querying a Partitioned Region on a Single Node</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/partitioned_region_key_or_field_value.html">Optimizing Queries on Data Partitioned by a Key or Field Value</a>
</li>
<li>
<a href="/docs/guide/15/developing/partitioned_regions/join_query_partitioned_regions.html">Performing an Equi-Join Query on Partitioned Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/partitioned_region_query_restrictions.html">Partitioned Region Query Restrictions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/query_additional/query_debugging.html">Query Debugging</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/query_index/query_index.html">Working with Indexes</a>
<ul>
<li>
<a href="/docs/guide/15/developing/query_index/indexing_guidelines.html">Tips and Guidelines on Using Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_an_index.html">Creating, Listing and Removing Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_key_indexes.html">Creating Key Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_hash_indexes.html">Creating Hash Indexes</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/creating_map_indexes.html">Creating Indexes on Map Fields ("Map Indexes")</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/create_multiple_indexes.html">Creating Multiple Indexes at Once</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/maintaining_indexes.html">Maintaining Indexes (Synchronously or Asynchronously) and Index Storage</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/query_index_hints.html">Using Query Index Hints</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/indexes_on_single_region_queries.html">Using Indexes on Single Region Queries</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/using_indexes_with_equijoin_queries.html">Using Indexes with Equi-Join Queries</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/indexes_with_overflow_regions.html">Using Indexes with Overflow Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/using_indexes_with_equijoin_queries_multiple_regions.html">Using Indexes on Equi-Join Queries using Multiple Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/query_index/index_samples.html">Index Samples</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/continuous_querying/chapter_overview.html">
Continuous Querying</a>
<ul>
<li>
<a href="/docs/guide/15/developing/continuous_querying/how_continuous_querying_works.html">How Continuous Querying Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/continuous_querying/implementing_continuous_querying.html">Implementing Continuous Querying</a>
</li>
<li>
<a href="/docs/guide/15/developing/continuous_querying/continuous_querying_whats_next.html">Managing Continuous Querying</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/chapter_overview.html">Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/about_transactions.html">About Transactions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/cache_transactions.html">Geode Cache Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/cache_transaction_performance.html">Cache Transaction Performance</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/data_location_cache_transactions.html">Data Location for Cache Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/run_a_cache_transaction.html">How to Run a Geode Cache Transaction</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/run_a_cache_transaction_with_external_db.html">How to Run a Geode Cache Transaction that Coordinates with an External Database</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html">Working with Geode Cache Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_vx2_gs4_5k">Setting Global Copy on Read
</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_fdr_wht_vk">Making a Safe Change Within a Transaction Using CopyHelper.copy
</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ihn_zmt_vk">Transactions and Functions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ty1_vnt_vk">Using Queries and Indexes with Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ksh_twz_vk">Collections and Region.Entry Instances in Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_vyt_txz_vk">Using Eviction and Expiration Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#transactions_and_consistency">Transactions and Consistent Regions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_u5b_ryz_vk">Suspending and Resuming Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ysx_nf1_wk">Using Cache Writer and Cache Listener Plug-Ins</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/working_with_transactions.html#concept_ocw_vf1_wk">Configuring Transaction Plug-In Event Handlers</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_event_management.html">How Transaction Events Are Managed</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/how_cache_transactions_work.html#topic_fls_1j1_wk">How Geode Cache Transactions Work</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/how_cache_transactions_work.html#concept_hls_1j1_wk">Transaction View</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/how_cache_transactions_work.html#concept_sbj_lj1_wk">Committing Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/cache_transactions_by_region_type.html">Transactions by Region Type</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html">Client Transactions</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#how_gemfire_runs_clients">How Geode Runs Client Transactions</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#client_cache_access">Client Cache Access During a Transaction</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#client_app_plugins">Client Transactions and Client Application Plug-Ins</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/client_server_transactions.html#client_transaction_failures">Client Transaction Failures</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#transactional_and_nontransactional_ops">Comparing Transactional and Non-Transactional Operations</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#transactional_operations">Transactional Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#non_transactional_operations">Non-Transactional Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#entry_operations">Entry Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#region_operations">Region Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#cache_operations">Cache Operations</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_and_nontransactional_ops.html#no-ops">No-Ops</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_semantics.html">Geode Cache Transaction Semantics</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html">JTA Global Transactions with Geode
</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#concept_cp1_zx1_wk">Coordinating with External JTA Transactions Managers</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#task_j3g_3mn_1l">How to Run a JTA Transaction Coordinated by an External Transaction Manager</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#concept_csy_vfb_wk">Using Geode as the "Last Resource" in a Container-Managed JTA Transaction</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#task_sln_x3b_wk">How to Run JTA Transactions with Geode as a "Last Resource"</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#concept_8567sdkbigige">Using Geode as the JTA Transaction Manager</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/JTA_transactions.html#task_qjv_khb_wk">How to Run a JTA Global Transaction Using Geode as the JTA Transaction Manager</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/configuring_db_connections_using_JNDI.html">Configuring Database Connections Using JNDI</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/configuring_db_connections_using_JNDI.html#topic_F67EC20067124A618A8099AB4CBF634C">Example DataSource Configurations in cache.xml</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/cache_plugins_with_jta.html">Behavior of Geode Cache Writers and Loaders Under JTA</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/turning_off_jta.html">Turning Off JTA Transactions
</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/monitor_troubleshoot_transactions.html">Monitoring and Troubleshooting Transactions</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/transactions/transaction_coding_examples.html">Transaction Coding Examples</a>
<ul>
<li>
<a href="/docs/guide/15/developing/transactions/transactions_overview.html">Basic Transaction Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_suspend_resume_example.html">Basic Suspend and Resume Transaction Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transactional_function_example.html">Transaction Embedded within a Function Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/transaction_jta_gemfire_example.html">Geode JTA Transaction Example</a>
</li>
<li>
<a href="/docs/guide/15/developing/transactions/jca_adapter_example.html">JCA Resource Adapter Example</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/developing/function_exec/chapter_overview.html">Function Execution</a>
<ul>
<li>
<a href="/docs/guide/15/developing/function_exec/how_function_execution_works.html">How Function Execution Works</a>
</li>
<li>
<a href="/docs/guide/15/developing/function_exec/function_execution.html">Executing a Function in Apache Geode</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/book_intro.html">Developing REST Applications for Apache Geode</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/chapter_overview.html">Geode REST API Overview</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/rest_prereqs.html">Prerequisites and Limitations for Writing REST Applications</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/setup_config.html">Setup and Configuration</a>
<ul>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_enabling_rest">Enabling the REST API</a></li>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_starting_rest">Starting the REST API Service</a></li>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_implementing_auth">Implementing Authentication</a></li>
<li><a href="/docs/guide/15/rest_apps/setup_config.html#setup_config_implementing_auth">Programmatic Startup</a></li>
</ul>
</li>
<li>
<a href="/docs/guide/15/rest_apps/using_swagger.html">Using the Swagger UI to Browse REST APIs</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html">Developing REST Applications</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html#topic_qhs_f25_m4">Working with Regions</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html#topic_fcn_g25_m4">Working with Queries</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/develop_rest_apps.html#topic_rbc_h25_m4">Working with Functions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/rest_apps/rest_examples.html">Sample REST Applications</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/troubleshooting.html">Troubleshooting and FAQ</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_api_reference.html">Apache Geode REST API Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_regions.html">Region Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/get_regions.html">GET /gemfire-api/v1</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_data.html">GET /gemfire-api/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_keys.html">GET /gemfire-api/v1/{region}/keys</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_key_data.html">GET /gemfire-api/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_region_data_for_multiple_keys.html">GET /gemfire-api/v1/{region}/{key1},{key2},...,{keyN}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/head_region_size.html">HEAD /gemfire-api/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_if_absent_data.html">POST /gemfire-api/v1/{region}?key=&lt;key&gt;</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_update_data.html">PUT /gemfire-api/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_multiple_values_for_keys.html">PUT /gemfire-api/v1/{region}/{key1},{key2},...{keyN}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_replace_data.html">PUT /gemfire-api/v1/{region}/{key}?op=REPLACE</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_update_cas_data.html">PUT /gemfire-api/v1/{region}/{key}?op=CAS</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_all_data.html">DELETE /gemfire-api/v1/{region}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_data_for_key.html">DELETE /gemfire-api/v1/{region}/{key}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_data_for_multiple_keys.html">DELETE /gemfire-api/v1/{region}/{key1},{key2},...{keyN}</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_queries.html">Query Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/get_queries.html">GET /gemfire-api/v1/queries</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_create_query.html">POST /gemfire-api/v1/queries?id=&lt;queryId&gt;&amp;q=&lt;OQL-statement&gt;</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_execute_query.html">POST /gemfire-api/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/put_update_query.html">PUT /gemfire-api/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/delete_named_query.html">DELETE /gemfire-api/v1/queries/{queryId}</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_execute_adhoc_query.html">GET /gemfire-api/v1/queries/adhoc?q=&lt;OQL-statement&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_functions.html">Function Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/get_functions.html">GET /gemfire-api/v1/functions</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/post_execute_functions.html">POST /gemfire-api/v1/functions/{functionId}</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/rest_apps/rest_admin.html">Administrative Endpoints</a>
<ul>
<li>
<a href="/docs/guide/15/rest_apps/ping_service.html">[HEAD | GET] /gemfire-api/v1/ping</a>
</li>
<li>
<a href="/docs/guide/15/rest_apps/get_servers.html">GET /gemfire-api/v1/servers</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/book_intro.html">Tools and Modules</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/chapter_overview.html">
gfsh</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/about_gfsh.html">What You Can Do with gfsh</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/starting_gfsh.html">Starting gfsh</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/configuring_gfsh.html">Configuring the gfsh Environment</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/useful_gfsh_shell_variables.html">Useful gfsh Shell Variables</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/getting_started_gfsh.html">Basic Shell Features and Command-Line Usage</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/json_in_gfsh.html">Specifying JSON within Command-Line Options</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/tour_of_gfsh.html">Tutorial—Performing Common Tasks with gfsh</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/gfsh_quick_reference.html">Quick Reference of gfsh Commands by Functional Area</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_77DA6E3929404EB4AC24230CC7C21493">Basic Geode gfsh Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EB854534301A477BB01058B3B142AE1D">Configuration Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_C7DB8A800D6244AE8FF3ADDCF139DCE4">Data Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1B47A0E120124EB6BF08A467EB510412">Deployment Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1ACC91B493EE446E89EC7DBFBBAE00EA">Disk Store Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_10613D4850F04A3EB507F6B441AD3413">Durable CQ and Client Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8BB061D1A7A9488C819FE2B7881A1278">Function Execution Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_F0AE5CE40D6D49BF92247F5EF4F871D2">Gateway (WAN) Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_B742E9E862BA457082E2346581C97D03">Geode Monitoring Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_688C66526B4649AFA51C0F72F34FA45E">Index Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_2A6DA4078E4E496A9F725A29BC4CFD0D">JMX Connection Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_1C82E6F1B2AF4A65A8DA6B3C846BAC13">Locator Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_lucene_commands">Lucene Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_cvg_bls_5q">PDX Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_EF03129A40EE492984F3B6248596E1DD">Region Commands</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/quick_ref_commands_by_area.html#topic_8A341FF86958466E9E64CF06CD21FED9">Server Commands</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/gfsh_command_index.html">gfsh Command Help</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html">alter</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_alter_async_event_queue">alter async-event-queue</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_99BCAD98BDB5470189662D2F308B68EB">alter disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_E74ED23CB60342538B2175C326E7D758">alter region</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/alter.html#topic_7E6B7E1B972D4F418CB45354D1089C2B">alter runtime</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/backup.html">backup disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/change.html">change loglevel</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/clear.html">clear defined indexes</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/close.html">close</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/close.html#topic_4125AAAB9FE44CD787166E48B694C41D">close durable-client</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/close.html#topic_1BC15B3132BA480DB227921A9B3ABDD1">close durable-cq</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/compact.html">compact</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/compact.html#topic_F123C95C076F424E9AA8AC4F1F6324CC">compact disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/compact.html#topic_9CCFCB2FA2154E16BD775439C8ABC8FB">compact offline-disk-store</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/configure.html">configure</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/connect.html">connect</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html">create</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_ryz_pb1_dk">create async-event-queue</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_w2t_l3m_qq">create defined indexes</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_bkn_zty_ck">create disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_a4x_pb1_dk">create gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_hg2_bjz_ck">create gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_960A5B6FD3D84E1881EE128E299DD12D">create index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#create_lucene_index">create lucene index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/create.html#topic_54B0985FEC5241CA9D26B0CE0A5EA863">create region</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/debug.html">debug</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/define.html">define index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/deploy.html">deploy</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html">describe</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_gyr_jgz_ck">describe client</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_3C2C817D999C4E40AF788808B7B6AF99">describe config</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_591DC6B781B641268E6173E69AC6D201">describe connection
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_C635B500BE6A4F1D9572D0BC98A224F2">describe disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#describe_lucene_index">describe lucene index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_D62F3D42B1D84CF68F03D54D5122806A">describe member</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_kys_yvk_2l">describe offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/describe.html#topic_DECF7D3D33F54071B6B8AD4EA7E3F90B">describe region
</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html">destroy</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_destroy-async-event-queue">destroy async-event-queue</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_yfr_l2z_ck">destroy disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_E48C2DF809054C12A162026D8A2139BB">destroy function</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#destroy-gs">destroy gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_D00219CCD6F64C1582A0802AC5CDF3F3">destroy index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#destroy_lucene_index">destroy lucene index</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/destroy.html#topic_BEDACECF4599407794ACBC0E56B30F65">destroy region</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/disconnect.html">disconnect</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/echo.html">echo</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/execute.html">execute function</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/exit.html">exit</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html">export</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_mdv_jgz_ck">export cluster-configuration
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_C7C69306F93743459E65D46537F4A1EE">export config</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_263B70069BFC4A7185F86B3272011734">export data</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_B80978CC659244AE91E2B8CE56EBDFE3">export logs</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_sjg_bvt_gq">export offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/export.html#topic_195D27B8B2B64A4E84CF2256636D54BD">export stack-traces</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/gc.html">gc</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/get.html">get</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/help.html">help</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/hint.html">hint</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/history.html">history</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/import.html">import</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/import.html#topic_vnv_grz_ck">import cluster-configuration</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/import.html#topic_jw2_2ld_2l">import data</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html">list</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_j22_kzk_2l">list async-event-queues</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_ts1_qb1_dk">list clients</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_59DF60DE71AD4097B281749425254BFF">list deployed
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_BC14AD57EA304FB3845766898D01BD04">list disk-stores</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_66016A698C334F4EBA19B99F51B0204B">list durable-cqs</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_DCC7CCBBEF5942B783A8F2A4A5B2FABF">list functions</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_B1D89671C7B74074899C7D52F15849ED">list gateways</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_B3B51B6DEA484EE086C4F657EC9831F2">list indexes</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#list_lucene_indexes">list lucene indexes</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_5B5BFB2E5F314210858641BE3A689637">list members</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/list.html#topic_F0ECEFF26086474498598035DD83C588">list regions</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/load-balance.html">load-balance gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/locate.html">locate entry</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/netstat.html">netstat</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/pause.html">pause gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/pdx.html">pdx rename</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/put.html">put</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/query.html">query</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/rebalance.html">rebalance</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/remove.html">remove</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/resume.html">resume gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/revoke.html">revoke missing-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/run.html">run</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/search.html">search lucene</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/set.html">set variable</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/sh.html">sh</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html">show</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_1225347FAD6541DF995C9999650165B1">show dead-locks</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_45AAEDAC3AFF46EC9BB68B24FC9A32B3">show log</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_6EB786C63AEB46179EEE8FA18624295A">show metrics</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_7B3D624D5B4F41D1A0F8A9C3C8B2E780">show missing-disk-stores</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/show.html#topic_395C96B500AD430CBF3D3C8886A4CD2E">show subscription-queue-size</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/shutdown.html">shutdown</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/sleep.html">sleep</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html">start</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_67738A5B68E84DEE95D1C92DAB2E26E5">start gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_AB8BA3F42B9645A8BE9BD97CE2F839A8">start gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_D00507416F3944DFAB48D2FA2B9E4A31">start jconsole</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_5B5BF8BEE905463D8B7762B89E2D65E7">start jvisualvm
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_591260CF25D64562A0EDD7260D2AC6D4">start locator</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_E906BA7D9E7F4C5890FEFA7ECD40DD77">start pulse</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/start.html#topic_3764EE2DB18B4AE4A625E0354471738A">start server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html">status</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_ts1_qb1_dk2">status cluster-config-service</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_B0F45DC2D5F64FB1A2F738206BC6539E">status gateway-receiver</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_6F539877F0564F05AF264A9E704EC842">status gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_E96D0EFA513C4CD79B833FCCDD69C832">status locator</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/status.html#topic_E5DB49044978404D9D6B1971BF5D400D">status server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html">stop</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_CD1D526FD6F84A7B80B25C741229ED30">stop gateway-receiver
</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_0BBDD4B3B8A44A65A610F766C9E85519">stop gateway-sender</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_EF61C54B35BA4AB7B14E58CF912F283E">stop locator</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/stop.html#topic_723EE395A63A40D6819618AFC2902125">stop server</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/undeploy.html">undeploy</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/validate.html">validate offline-disk-store</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command-pages/version.html">version</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/command_scripting.html">Creating and Running gfsh Command Scripts</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/os_command_line_execution.html">Running gfsh Commands on the OS Command Line</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gfsh/cache_xml_2_gfsh.html">Mapping cache.xml Elements to gfsh Configuration Commands</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/gemcached/chapter_overview.html">Gemcached</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/gemcached/about_gemcached.html">How Gemcached Works</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gemcached/deploying_gemcached.html">Deploying and Configuring a Gemcached Server</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/gemcached/advantages.html">Advantages of Gemcached over Memcached</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/chapter_overview.html">HTTP Session Management Modules</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/quick_start.html">HTTP Session Management Quick Start</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/http_why_use_gemfire.html">Advantages of Using Geode for Session Management</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/common_gemfire_topologies.html">Common Topologies for HTTP Session Management</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_additional_info.html">General Information on HTTP Session Management</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_state_log_files.html">Session State Log Files</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_mgmt_tcserver.html">HTTP Session Management Module for Pivotal tc Server</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_installing_the_module.html">Installing the HTTP Module for tc Server</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_setting_up_the_module.html">Setting Up the HTTP Module for tc Server</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tc_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the tc Server Module</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/interactive_mode_ref.html">Interactive Configuration Reference for the tc Server Module
</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_mgmt_tomcat.html">HTTP Session Management Module for Tomcat</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tomcat_installing_the_module.html">Installing the HTTP Module for Tomcat</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tomcat_setting_up_the_module.html">Setting Up the HTTP Module for Tomcat</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/tomcat_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the Tomcat Module</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/session_mgmt_weblogic.html">HTTP Session Management Module for AppServers</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/weblogic_setting_up_the_module.html">Setting Up the HTTP Module for AppServers
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/http_session_mgmt/weblogic_changing_gf_default_cfg.html">Changing the Default Geode Configuration in the AppServers Module
</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/http_session_mgmt/weblogic_common_configuration_changes.html">Common Geode Configuration Changes for AppServers</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/pulse/pulse-overview.html">Geode Pulse</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-requirements.html">Pulse System Requirements</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-embedded.html">Running Pulse in Embedded Mode (Quick Start)</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-hosted.html">Hosting Pulse on a Web Application Server</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-auth.html">Configuring Pulse Authentication</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/pulse/pulse-views.html">Using Pulse Views</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/redis_adapter.html">Geode Redis Adapter</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/redis_adapter.html#using-the-redis-adapter">Using the Redis Adapter</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/redis_adapter.html#how-the-redis-adapter-works">How the Redis Adapter Works</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/redis_adapter.html#advantages-of-geode-over-redis">Advantages of Geode over a Redis Server</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/tools_modules/lucene_integration.html">Apache Lucene Integration</a>
<ul>
<li>
<a href="/docs/guide/15/tools_modules/lucene_integration.html#using-the-apache-lucene-integration">Using the Apache Lucene Integration</a>
</li>
<li>
<a href="/docs/guide/15/tools_modules/lucene_integration.html#LuceneRandC">Requirements and Caveats</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/book_intro.html">Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/gemfire_properties.html">gemfire.properties and gfsecurity.properties (Geode Properties)</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/non-ascii_strings_in_config_files.html">Using Non-ASCII Strings in Apache Geode Property Files</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/chapter_overview_cache_xml.html">cache.xml
</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/elements_ref.html">cache.xml Quick Reference</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache-elements-list.html">&lt;cache&gt; Element Hierarchy</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html">&lt;cache&gt; Element Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#cache-transaction-manager">&lt;cache-transaction-manager&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#transaction-listener">&lt;transaction-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#transaction-writer">&lt;transaction-writer&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#dynamic-region-factory">&lt;dynamic-region-factory&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-sender">&lt;gateway-sender&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-event-filter">&lt;gateway-event-filter&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-event-substitution-filter">&lt;gateway-event-substitution-filter&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-transport-filter">&lt;gateway-transport-filter&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-receiver">&lt;gateway-receiver&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-receiver_gateway-transport-filter">&lt;gateway-transport-filter&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#gateway-conflict-resolver">&lt;gateway-conflict-resolver&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#async-event-queue">&lt;async-event-queue&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#async-event-listener">&lt;async-event-listener&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#cache-server">&lt;cache-server&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#client-subscription">&lt;client-subscription&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#custom-load-probe">&lt;custom-load-probe&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#pool">&lt;pool&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#locator">&lt;locator&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#server">&lt;server&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#disk-store">&lt;disk-store&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#disk-dirs">&lt;disk-dirs&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#disk-dir">&lt;disk-dir&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#pdx">&lt;pdx&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#pdx-serializer_24898989679">&lt;pdx-serializer&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-attributes">&lt;region-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#key-constraint">&lt;key-constraint&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#value-constraint">&lt;value-constraint&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-time-to-live">&lt;region-time-to-live&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-idle-time">&lt;region-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-idle-time_expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#region-idle-time_custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-time-to-live">&lt;entry-time-to-live&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time_expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-time-to-live_custom_expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time">&lt;entry-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time_expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry-idle-time_custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#partition-attributes">&lt;partition-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#partition-resolver">&lt;partition-resolver&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#partition-listener">&lt;partition-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#fixed-partition-attributes">&lt;fixed-partition-attributes&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#membership-attributes">&lt;membership-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#required-role">&lt;required-role&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#subscription-attributes">&lt;subscription-attributes&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_qsb_pnw_bm">&lt;cache-loader&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_h53_pnw_bm">&lt;cache-writer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#cache-listener">&lt;cache-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_pcd_t25_44">&lt;compressor&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#eviction-attributes">&lt;eviction-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lru-entry-count">&lt;lru-entry-count&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lru-heap-percentage">&lt;lru-heap-percentage&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lru-memory-size">&lt;lru-memory-size&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#jndi-bindings">&lt;jndi-bindings&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#jndi-binding">&lt;jndi-binding&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property">&lt;config-property&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property-name">&lt;config-property-name&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property-type">&lt;config-property-type&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#config-property-value">&lt;config-property-value&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#region">&lt;region&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#index">&lt;index&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#luceneindex">&lt;lucene:index&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#lucenefield">&lt;lucene:field&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#entry">&lt;entry&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#key">&lt;key&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#value">&lt;value&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#region_region">&lt;region&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#vm-root-region">&lt;vm-root-region&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#function-service">&lt;function-service&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#function">&lt;function&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#resource-manager">&lt;resource-manager&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#serialization-registration">&lt;serialization-registration&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#serializer">&lt;serializer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#instantiator">&lt;instantiator&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#backup">&lt;backup&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/cache_xml.html#initializer">&lt;initializer&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#class-name_parameter">&lt;class-name&gt; and &lt;parameter&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#declarable">&lt;declarable&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#string">&lt;string&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache-elements-list.html">
&lt;client-cache&gt; Element Hierarchy
</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html">&lt;client-cache&gt; Element Reference</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-cache-transaction-manager">&lt;cache-transaction-manager&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-transaction-listener">&lt;transaction-listener&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-transaction-writer">&lt;transaction-writer&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-pool">&lt;pool&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-locator">&lt;locator&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-server">&lt;server&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-disk-store">&lt;disk-store&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-disk-dirs">&lt;disk-dirs&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-disk-dir">&lt;disk-dir&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-pdx">&lt;pdx&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-pdx-serializer">&lt;pdx-serializer&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region-attributes">&lt;region-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-key-constraint">&lt;key-constraint&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-value-constraint">&lt;value-constraint&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region-time-to-live">&lt;region-time-to-live&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region-idle-time">&lt;region-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-rit-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-rit-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-entry-time-to-live">&lt;entry-time-to-live&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-ettl-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-ettl-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-entry-idle-time">&lt;entry-idle-time&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-eit-expiration-attributes">&lt;expiration-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-eit-custom-expiry">&lt;custom-expiry&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_qsb_pnw_bm">&lt;cache-loader&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/cache_xml.html#topic_h53_pnw_bm">&lt;cache-writer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-cache-listener">&lt;cache-listener&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-eviction-attributes">&lt;eviction-attributes&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-lru-entry-count">&lt;lru-entry-count&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-lru-heap-percentage">&lt;lru-heap-percentage&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-lru-memory-size">&lt;lru-memory-size&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-jndi-bindings">&lt;jndi-bindings&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-jndi-binding">&lt;jndi-binding&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-config-property">&lt;config-property&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-region">&lt;region&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-r-region-attributes">&lt;region-attributes&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-index">&lt;index&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-entry">&lt;entry&gt;</a>
<ul>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-key">&lt;key&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-value">&lt;value&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-v-string">&lt;string&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-v-declarable">&lt;declarable&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-ra-region">&lt;region&gt;</a>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-function-service">&lt;function-service&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-function">&lt;function&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-resource-manager">&lt;resource-manager&gt;</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-serialization-registration">&lt;serialization-registration&gt;</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-serializer">&lt;serializer&gt;</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-instantiator">&lt;instantiator&gt;</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/client-cache.html#cc-initializer">&lt;initializer&gt;</a>
</li>
</ul>
</li>
</ul>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/topics/chapter_overview_regionshortcuts.html">Region Shortcuts</a>
<ul>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_table.html">Region Shortcuts Quick Reference</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_w2h_3cd_lk">
LOCAL
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_wd5_lpy_lk">
LOCAL_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_adk_y4y_lk">
LOCAL_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_l5r_y4y_lk">
LOCAL_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_a45_y4y_lk">
LOCAL_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_ow5_4qy_lk">
PARTITION
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_twx_y4y_lk">
PARTITION_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_js1_z4y_lk">
PARTITION_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_d4k_jpy_lk">
PARTITION_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_v5l_jpy_lk">
PARTITION_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_v4m_jpy_lk">
PARTITION_PROXY
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_c1n_jpy_lk">
PARTITION_PROXY_REDUNDANT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_shn_jpy_lk">
PARTITION_REDUNDANT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_m4n_jpy_lk">
PARTITION_REDUNDANT_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_own_jpy_lk">
PARTITION_REDUNDANT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_bd4_jpy_lk">
PARTITION_REDUNDANT_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_xqq_tvc_lk">
PARTITION_REDUNDANT_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_wq4_jpy_lk">
REPLICATE
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_xx4_jpy_lk">
REPLICATE_HEAP_LRU
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_t2p_jpy_lk">
REPLICATE_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_emp_jpy_lk">
REPLICATE_PERSISTENT
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_tsp_jpy_lk">
REPLICATE_PERSISTENT_OVERFLOW
</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/region_shortcuts_reference.html#reference_n1q_jpy_lk">
REPLICATE_PROXY
</a>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/handling_exceptions_and_failures.html">
Exceptions and System Failures</a>
</li>
<li>
<a href="/docs/guide/15/reference/topics/memory_requirements_for_cache_data.html">Memory Requirements for Cached Data</a>
</li>
<li class="has_submenu">
<a href="/docs/guide/15/reference/statistics_list.html">Geode Statistics List</a>
<ul>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_DEF8D3644D3246AB8F06FE09A37DC5C8">Cache Performance (CachePerfStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_EF5C2C59BFC74FFB8607F9571AB9A471">Cache Server (CacheServerStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_B08C0783BBF9489E8BB48B4AEC597C62">Client-Side Notifications (CacheClientUpdaterStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_04B7D7387E584712B7710B5ED1E876BB">Client-to-Server Messaging Performance (ClientStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_6C247F61DB834C079A16BE92789D4692">Client Connection Pool (PoolStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_66C0E7748501480B85209D57D24256D5">Continuous Querying (CQStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_D4ABED3FF94245C0BEE0F6FC9481E867">Delta Propagation (DeltaPropagationStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_6C2BECC63A83456190B029DEDB8F4BE3">Disk Space Usage (DiskDirStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_983BFC6D53C74829A04A91C39E06315F">Disk Usage and Performance (DiskRegionStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_ACB4161F10D64BC0B15871D003FF6FDF">Distributed System Messaging (DistributionStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_78D346A580724E1EA645E31626EECE40">Distributed Lock Services (DLockStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_5E212DDB0E8640689AD0A4659512E17A">Function Execution (FunctionServiceStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_C4199A541B1F4B82B6178C416C0FAE4B">Gateway Queue (GatewayStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_86A61860024B480592DAC67FFB882538">Indexes (IndexStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_607C3867602E410CAE5FAB26A7FF1CB9">JVM Performance</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_C48B654F973E4B44AD825D459C23A6CD">Locator (LocatorStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#LuceneStats">Lucene Indexes (LuceneIndexStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#topic_ohc_tjk_w5">Off-Heap (OffHeapMemoryStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_923B28F01BC3416786D3AFBD87F22A5E">Operating System Statistics - Linux</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_35AC170770C944C3A336D9AEC2D2F7C5">Partitioned Regions (PartitionedRegion&lt;partitioned_region_name&gt;Statistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_374FBD92A3B74F6FA08AA23047929B4F">Region Entry Eviction – Count-Based (LRUStatistics)
</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_3D2AA2BCE5B6485699A7B6ADD1C49FF7">Region Entry Eviction – Size-based (LRUStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_5362EF9AECBC48D69475697109ABEDFA">Server Notifications for All Clients (CacheClientNotifierStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_E03865F509E543D9B8F9462B3DA6255E">Server Notifications for Single Client (CacheClientProxyStatistics)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_3AB1C0AA55014163A2BBF68E13D25E3A">Server-to-Client Messaging Performance (ClientSubscriptionStats)</a>
</li>
<li>
<a href="/docs/guide/15/reference/statistics_list.html#section_55F3AF6413474317902845EE4996CC21">Statistics Collection (StatSampler)</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/guide/15/reference/topics/glossary.html">Glossary</a>
</li>
</ul>
</div>
</div>
<!--googleon: index-->
<main class="content content-layout" id="js-content" role="main">
<a id="top"></a>
<!--
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.
-->
<span style="font-weight:200;font-size:31px;" style="float:left;">
<img src="/images/Apache_Geode_logo_symbol.png" style="height:26px;">
Apache Geode
</span>
<span class="local-header version-info" style="float:right;">
<a href="https://cwiki.apache.org/confluence/display/GEODE/Release+Notes">CHANGELOG</a>
</span>
<!--
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.
-->
<h1 class="title-container" >
WHERE Clause
</h1>
<div id="js-quick-links" >
</div>
<div class="to-top" id="js-to-top">
<a href="#top" title="back to top"></a>
</div>
<!--
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.
-->
<p><a id="the_where_clause__section_56BB3A7F44124CA9BFBC20E19399C6E4"></a>
Each FROM clause expression must resolve to a collection of objects. The collection is then available for iteration in the query expressions that follow in the WHERE clause.</p>
<p>For example:</p>
<pre class="highlight plaintext"><code>SELECT DISTINCT * FROM /exampleRegion p WHERE p.status = 'active'
</code></pre>
<p>The entry value collection is iterated by the WHERE clause, comparing the status field to the string &lsquo;active&rsquo;. When a match is found, the value object of the entry is added to the return set.</p>
<p>In the next example query, the collection specified in the first FROM clause expression is used by the rest of the SELECT statement, including the second FROM clause expression.</p>
<pre class="highlight plaintext"><code>SELECT DISTINCT * FROM /exampleRegion, positions.values p WHERE p.qty &gt; 1000.00
</code></pre>
<h2 id="implementing-equals-and-hashcode-methods"><a id="the_where_clause__section_99CA3FA508B740DCBAB4F01F8F9B1390" class="no-quick-link"></a>Implementing equals and hashCode Methods</h2>
<p>You must implement the <code>equals</code> and <code>hashCode</code> methods in your custom objects if you are doing ORDER BY and DISTINCT queries on the objects. The methods must conform to the properties and behavior documented in the online Java API documentation for <code>java.lang.Object</code>. Inconsistent query results may occur if these methods are absent.</p>
<p>If you have implemented <code>equals</code> and <code>hashCode</code> methods in your custom objects, you must provide detailed implementations of these methods so that queries execute properly against the objects. For example, assume that you have defined a custom object (CustomObject) with the following variables:</p>
<pre class="highlight plaintext"><code>int ID
int otherValue
</code></pre>
<p>Let&rsquo;s put two CustomObjects (we&rsquo;ll call them CustomObjectA and CustomObjectB) into the cache:</p>
<p>CustomObjectA:</p>
<pre class="highlight plaintext"><code>ID=1
otherValue=1
</code></pre>
<p>CustomObjectB:</p>
<pre class="highlight plaintext"><code>ID=1
otherValue=2
</code></pre>
<p>If you have implemented the equals method to simply match on the ID field (ID == ID), queries will produce unpredictable results.</p>
<p>The following query:</p>
<pre class="highlight plaintext"><code>SELECT * FROM /CustomObjects c
WHERE c.ID &gt; 1 AND c.ID &lt; 3
AND c.otherValue &gt; 0 AND c.otherValue &lt; 3
</code></pre>
<p>returns two objects, however the objects will be two of either CustomObjectA or CustomObjectB.</p>
<p>Alternately, the following query:</p>
<pre class="highlight plaintext"><code>SELECT * FROM /CustomObjects c
WHERE c.ID &gt; 1 AND c.ID &lt; 3
AND c.otherValue &gt; 1 AND c.otherValue &lt; 3
</code></pre>
<p>returns either 0 results or 2 results of CustomObjectB, depending on which entry is evaluated last.</p>
<p>To avoid unpredictable querying behavior, implement detailed versions of the <code>equals</code> and <code>hashCode</code> methods.</p>
<p>If you are comparing a non-primitive field of the object in the WHERE clause, use the <code>equals</code> method instead of the <code>=</code> operator. For example instead of <code>nonPrimitiveObj = objToBeCompared</code> use <code>nonPrimitiveObj.equals(objToBeCompared)</code>.</p>
<h2 id="querying-serialized-objects"><a id="the_where_clause__section_7484AD999D01473385628246697F37F6" class="no-quick-link"></a>Querying Serialized Objects</h2>
<p>Objects must implement serializable if you will be querying partitioned regions or if you are performing client-server querying.</p>
<p>If you are using PDX serialization, you can access the values of individual fields without having to deserialize the entire object. This is accomplished by using PdxInstance, which is a wrapper around the serialized stream. The PdxInstance provides a helper method that takes field-name and returns the value without deserializing the object. While evaluating the query, the query engine will access field values by calling the getField method thus avoiding deserialization.</p>
<p>To use PdxInstances in querying, ensure that PDX serialization reads are enabled in your server&rsquo;s cache. In gfsh, execute the following command before starting up your data members:</p>
<pre class="highlight plaintext"><code>gfsh&gt;configure pdx --read-serialized=true
</code></pre>
<p>See <a href="/docs/guide/15/tools_modules/gfsh/command-pages/configure.html#topic_jdkdiqbgphqh">configure pdx</a> for more information.</p>
<p>In cache.xml, set the following:</p>
<pre class="highlight plaintext"><code>// Cache configuration setting PDX read behavior
&lt;cache&gt;
&lt;pdx read-serialized="true"&gt;
...
&lt;/pdx&gt;
&lt;/cache&gt;
</code></pre>
<h2 id="attribute-visibility"><a id="the_where_clause__section_75A114F9FEBF40A586621CAA1780DBD3" class="no-quick-link"></a>Attribute Visibility</h2>
<p>You can access any object or object attribute that is available in the current scope of a query. In querying, an object&rsquo;s attribute is any identifier that can be mapped to a public field or method in the object. In the FROM specification, any object that is in scope is valid. Therefore, at the beginning of a query, all locally cached regions and their attributes are in scope.</p>
<p>For attribute Position.secId which is public and has getter method &ldquo;getSecId()&rdquo;, the query can be written as the following:</p>
<pre class="highlight plaintext"><code>SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.secId = '1'
SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.SecId = '1'
SELECT DISTINCT * FROM /exampleRegion p WHERE p.position1.getSecId() = '1'
</code></pre>
<p>The query engine tries to evaluate the value using the public field value. If a public field value is not found, it makes a get call using field name (note that the first character is uppercase.)</p>
<h2 id="joins"><a id="the_where_clause__section_EB7B976238104C0EACD959C52E5BD75B" class="no-quick-link"></a>Joins</h2>
<p>If collections in the FROM clause are not related to each other, the WHERE clause can be used to join them.</p>
<p>The statement below returns all portfolios from the /exampleRegion and /exampleRegion2 regions that have the same status.</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
</code></pre>
<p>To create indexes for region joins you create single-region indexes for both sides of the join condition. These are used during query execution for the join condition. Partitioned regions do not support region joins. For more information on indexes, see <a href="/docs/guide/15/developing/query_index/query_index.html">Working with Indexes</a>.</p>
<p><strong>Examples:</strong></p>
<p>Query two regions. Return the ID and status for portfolios that have the same status.</p>
<pre class="highlight plaintext"><code>SELECT portfolio1.ID, portfolio2.status FROM /exampleRegion portfolio1, /exampleRegion2 portfolio2 WHERE portfolio1.status = portfolio2.status
</code></pre>
<p>Query two regions, iterating over all <code>positions</code> within each portfolio. Return all 4-tuples consisting of the value from each of the two regions and the value portion of the <code>positions</code> map from both regions in which the <code>secId</code> field of positions match.</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE positions1.secId = positions2.secId
</code></pre>
<p>Same query as the previous example, with the additional constraint that matches will have a <code>ID</code> of 1.</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion portfolio1, portfolio1.positions.values positions1, /exampleRegion2 portfolio2, portfolio2.positions.values positions2 WHERE portfolio1.ID = 1 AND positions1.secId = positions2.secId
</code></pre>
<h2 id="like"><a id="the_where_clause__section_D91E0B06FFF6431490CC0BFA369425AD" class="no-quick-link"></a>LIKE</h2>
<p>Geode offers limited support for the LIKE predicate. LIKE can be used to mean &#39;equals to&rsquo;. If you terminate the string with a wildcard (&rsquo;%&rsquo;), it behaves like &#39;starts with&rsquo;. You can also place a wildcard (either &rsquo;%&rsquo; or &rsquo;_&rsquo;) at any other position in the comparison string. You can escape the wildcard characters to represent the characters themselves.</p>
<p><strong>Note:</strong>
The &rsquo;*&rsquo; wildcard is not supported in OQL LIKE predicates.</p>
<p>You can also use the LIKE predicate when an index is present.</p>
<p><strong>Examples:</strong></p>
<p>Query the region. Return all objects where status equals &#39;active&rsquo;:</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion p WHERE p.status LIKE 'active'
</code></pre>
<p>Query the region using a wild card for comparison. Returns all objects where status begins with &#39;activ&rsquo;:</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion p WHERE p.status LIKE 'activ%'
</code></pre>
<h2 id="case-insensitive-fields">Case Insensitive Fields</h2>
<p>You can use the Java String class methods <code>toUpperCase</code> and <code>toLowerCase</code> to transform fields where you want to perform a case-insensitive search. For example:</p>
<pre class="highlight plaintext"><code>SELECT entry.value FROM /exampleRegion.entries entry WHERE entry.value.toUpperCase LIKE '%BAR%'
</code></pre>
<p>or</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion WHERE foo.toLowerCase LIKE '%bar%'
</code></pre>
<h2 id="method-invocations"><a id="the_where_clause__section_D2F8D17B52B04895B672E2FCD675A676" class="no-quick-link"></a>Method Invocations</h2>
<p>To use a method in a query, use the attribute name that maps to the public method you want to invoke.</p>
<pre class="highlight plaintext"><code>SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.size &gt;= 2 - maps to positions.size()
</code></pre>
<p>Methods declared to return void evaluate to null when invoked through the query processor.</p>
<p>You cannot invoke a static method. See <a href="/docs/guide/15/developing/query_select/the_where_clause.html#the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5">Enum Objects</a> for more information.</p>
<p><strong>Methods without parameters</strong></p>
<p>If the attribute name maps to a public method that takes no parameters, just include the method name in the query string as an attribute. For example, emps.isEmpty is equivalent to emps.isEmpty().</p>
<p>In the following example, the query invokes isEmpty on positions, and returns the set of all portfolios with no positions:</p>
<pre class="highlight plaintext"><code>SELECT DISTINCT * FROM /exampleRegion p WHERE p.positions.isEmpty
</code></pre>
<p><strong>Methods with parameters</strong></p>
<p>To invoke methods with parameters, include the method name in the query string as an attribute and provide method arguments between parentheses.</p>
<p>This example passes the argument &ldquo;Bo&rdquo; to the public method, and returns all names that begin with &ldquo;Bo&rdquo;.</p>
<pre class="highlight plaintext"><code>SELECT DISTINCT * FROM /exampleRegion p WHERE p.name.startsWith('Bo')
</code></pre>
<p>For overloaded methods, the query processor decides which method to call by matching the runtime argument types with the parameter types required by the method. If only one method&rsquo;s signature matches the parameters provided, it is invoked. The query processor uses runtime types to match method signatures.</p>
<p>If more than one method can be invoked, the query processor chooses the method whose parameter types are the most specific for the given arguments. For example, if an overloaded method includes versions with the same number of arguments, but one takes a Person type as an argument and the other takes an Employee type, derived from Person, Employee is the more specific object type. If the argument passed to the method is compatible with both types, the query processor uses the method with the Employee parameter type.</p>
<p>The query processor uses the runtime types of the parameters and the receiver to determine the proper method to invoke. Because runtime types are used, an argument with a null value has no typing information, and so can be matched with any object type parameter. When a null argument is used, if the query processor cannot determine the proper method to invoke based on the non-null arguments, it throws an <code>AmbiguousNameException</code>.</p>
<p><strong>Methods calls with the <code>SecurityManager</code> enabled</strong></p>
<p>When the <code>SecurityManager</code> is enabled,
Geode throws a <code>NotAuthorizedException</code> when any
method not on this list of whitelisted methods is invoked:</p>
<ul>
<li>On a <code>Map</code>, <code>Collection</code>, or <code>Region</code> object: <code>keySet</code>, <code>entrySet</code>, <code>values</code>, <code>containsKey</code> or <code>get</code></li>
<li>On a <code>Region.Entry</code> object: <code>getKey</code> or <code>getValue</code></li>
<li>On a <code>Date</code> or <code>Timestamp</code> object: <code>after</code>, <code>before</code>, <code>getNanos</code>, or <code>getTime</code></li>
<li>On a <code>String</code> object: any method</li>
<li>On any <code>Number</code> object: <code>intValue</code>, <code>longValue</code>, <code>shortValue</code>, etc.</li>
<li>On any <code>Boolean</code> object: <code>booleanValue</code></li>
<li>On any object: <code>equals</code>, <code>compareTo</code>, or <code>toString</code></li>
</ul>
<p>To disable the authorization check,
start all servers with the added system property
<code>gemfire.QueryService.allowUntrustedMethodInvocation</code>.
For example:</p>
<pre class="highlight plaintext"><code>gfsh&gt;start server --name=Server1 \
--J=-Dgemfire.QueryService.allowUntrustedMethodInvocation=true
</code></pre>
<h2 id="enum-objects"><a id="the_where_clause__section_59E7D64746AE495D942F2F09EF7DB9B5" class="no-quick-link"></a>Enum Objects</h2>
<p>To write a query based on the value of an Enum object field, you must use the <code>toString</code> method of the enum object or use a query bind parameter.</p>
<p>For example, the following query is NOT valid:</p>
<pre class="highlight plaintext"><code>//INVALID QUERY
select distinct * from /QueryRegion0 where aDay = Day.Wednesday
</code></pre>
<p>The reason it is invalid is that the call to <code>Day.Wednesday</code> involves a static class and method invocation which is not supported.</p>
<p>Enum types can be queried by using toString method of the enum object or by using bind parameter. When you query using the toString method, you must already know the constraint value that you wish to query. In the following first example, the known value is &#39;active&rsquo;.</p>
<p><strong>Examples:</strong></p>
<p>Query enum type using the toString method:</p>
<pre class="highlight plaintext"><code>// eStatus is an enum with values 'active' and 'inactive'
select * from /exampleRegion p where p.eStatus.toString() = 'active'
</code></pre>
<p>Query enum type using a bind parameter. The value of the desired Enum field ( Day.Wednesday) is passed as an execution parameter:</p>
<pre class="highlight plaintext"><code>select distinct * from /QueryRegion0 where aDay = $1
</code></pre>
<h2 id="in-and-set"><a id="the_where_clause__section_AC12146509F141378E493078540950C7" class="no-quick-link"></a>IN and SET</h2>
<p>The IN expression is a boolean indicating if one expression is present inside a collection of expressions of compatible type. The determination is based on the expressions&rsquo; equals semantics.</p>
<p>If <code>e1</code> and <code>e2</code> are expressions, <code>e2</code> is a collection, and <code>e1</code> is an object or a literal whose type is a subtype or the same type as the elements of <code>e2</code>, then <code>e1 IN e2</code> is an expression of type boolean.</p>
<p>The expression returns:</p>
<ul>
<li> TRUE if e1 is not UNDEFINED and is contained in collection e2</li>
<li> FALSE if e1 is not UNDEFINED and is not contained in collection e2 #</li>
<li> UNDEFINED if e1 is UNDEFINED</li>
</ul>
<p>For example, <code>2 IN SET(1, 2, 3)</code> is TRUE.</p>
<p>Another example is when the collection you are querying into is defined by a subquery. This query looks for companies that have an active portfolio on file:</p>
<pre class="highlight plaintext"><code>SELECT name, address FROM /company
WHERE id IN (SELECT id FROM /portfolios WHERE status = 'active')
</code></pre>
<p>The interior SELECT statement returns a collection of ids for all /portfolios entries whose status is active. The exterior SELECT iterates over /company, comparing each entry’s id with this collection. For each entry, if the IN expression returns TRUE, the associated name and address are added to the outer SELECT’s collection.</p>
<p><strong>Comparing Set Values</strong></p>
<p>The following is an example of a set value type comparison where sp is of type Set:</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion WHERE sp = set('20','21','22')
</code></pre>
<p>In this case, if sp only contains &#39;20&rsquo; and &#39;21&rsquo;, then the query will evalute to false. The query compares the two sets and looks for the presence of all elements in both sets.</p>
<p>For other collections types like list, the query can be written as follows:</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion WHERE sp.containsAll(set('20','21','22))
</code></pre>
<p>where sp is of type List.</p>
<p>In order to use it for Set value, the query can be written as:</p>
<pre class="highlight plaintext"><code>SELECT * FROM /exampleRegion WHERE sp IN SET (set('20','21','22'),set('10',11','12'))
</code></pre>
<p>where a set value is searched in collection of set values.</p>
<p>One problem is that you cannot create indexes on Set or List types (collection types) that are not comparable. To workaround this, you can create an index on a custom collection type that implements Comparable.</p>
<h2 id="double.nan-and-float.nan-comparisons"><a id="the_where_clause__section_E7206D045BEC4F67A8D2B793922BF213" class="no-quick-link"></a>Double.NaN and Float.NaN Comparisons</h2>
<p>The comparison behavior of Double.NaN and Float.NaN within Geode queries follow the semantics of the JDK methods Float.compareTo and Double.compareTo.</p>
<p>In summary, the comparisons differ in the following ways from those performed by the Java language numerical comparison operators (&lt;, &lt;=, ==, &gt;= &gt;) when applied to primitive double [float] values:</p>
<ul>
<li> Double.NaN [Float.NaN] is considered to be equal to itself and greater than all other double [float] values (including Double.POSITIVE_INFINITY [Float.POSITIVE_INFINITY]).</li>
<li> 0.0d [0.0f] is considered by this method to be greater than -0.0d [-0.0f].</li>
</ul>
<p>Therefore, Double.NaN[Float.NaN] is considered to be larger than Double.POSITIVE_INFINITY[Float.POSITIVE_INFINITY]. Here are some example queries and what to expect.</p>
<table><thead>
<tr>
<th>If p.value is NaN, the following query:</th>
<th>Evaluates to:</th>
<th>Appears in the result set?</th>
</tr>
</thead><tbody>
<tr>
<td><code>SELECT * FROM /positions p WHERE p.value = 0</code></td>
<td>false</td>
<td>no</td>
</tr>
<tr>
<td><code>SELECT * FROM /positions p WHERE p.value &gt; 0</code></td>
<td>true</td>
<td>yes</td>
</tr>
<tr>
<td><code>SELECT * FROM /positions p WHERE p.value &gt;= 0</code></td>
<td>true</td>
<td>yes</td>
</tr>
<tr>
<td><code>SELECT * FROM /positions p WHERE p.value &lt; 0</code></td>
<td>false</td>
<td>no</td>
</tr>
<tr>
<td><code>SELECT * FROM /positions p WHERE p.value &lt;= 0</code></td>
<td>false</td>
<td>no</td>
</tr>
<tr>
<td><strong>When p.value and p.value1 are both NaN, the following query:</strong></td>
<td><strong>Evaluates to:</strong></td>
<td><strong>Appears in the result set:</strong></td>
</tr>
<tr>
<td><code>SELECT * FROM /positions p WHERE p.value = p.value1</code></td>
<td>true</td>
<td>yes</td>
</tr>
</tbody></table>
<p>If you combine values when defining the following query in your code, when the query is executed the value itself is considered UNDEFINED when parsed and will not be returned in the result set.</p>
<pre class="highlight plaintext"><code>String query = "SELECT * FROM /positions p WHERE p.value =" + Float.NaN
</code></pre>
<p>Executing this query, the value itself is considered UNDEFINED when parsed and will not be returned in the result set.</p>
<p>To retrieve NaN values without having another field already stored as NaN, you can define the following query in your code:</p>
<pre class="highlight plaintext"><code>String query = "SELECT * FROM /positions p WHERE p.value &gt; " + Float.MAX_VALUE;
</code></pre>
<h2 id="arithmetic-operations"><a id="the_where_clause_arith_operators" class="no-quick-link"></a>Arithmetic Operations</h2>
<p>Arithmetic operators may be used in any expression.</p>
<p>For example, this query selects all people with a body mass index less than 25:</p>
<pre class="highlight plaintext"><code>String query = "SELECT * FROM /people p WHERE p.height * p.height/p.weight &lt; 25";
</code></pre>
</main>
</div>
</div>
</div>
<div id="scrim"></div>
<div class="container">
<footer class="site-footer-links">
<!--
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.
-->
<div class="copyright">
<a href='/'>Apache Geode Documentation</a>
&copy; 2018 <a href='http://www.apache.org/'>The Apache Software Foundation</a>.
</div>
<div class="support">
Need help? <a href="http://geode.apache.org/community" target="_blank">Visit the Community</a>
</div>
</footer>
</div><!--end of container-->
</body>
</html>