geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aba...@apache.org
Subject [54/74] [abbrv] geode-native git commit: GEODE-1964 Move doc files to geode-native subdirectory, add geode-native-book directory, update User Guide sources for donation 2
Date Tue, 14 Feb 2017 19:40:38 GMT
http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb
deleted file mode 100644
index 40f7fa0..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/3-quickintro-requirements.html.md.erb
+++ /dev/null
@@ -1,43 +0,0 @@
----
-title:  Remote Querying Requirements
----
-
-Note the particular requirements for using region endpoints; setting server region data policy and scope; implementing equals and hashcode methods; and setting object type constraints.
-
-## <a id="security__section_AB5CC1F7CA1949FEA8A35687BC486F10" class="no-quick-link"></a>Using Region Endpoints
-
-When you are using region endpoints, at least one region must exist on the native client before a query can be executed through the client. All objects in the region belong to the same class hierarchy (homogenous types).
-
-## <a id="security__section_A619799378B14214AF922D819907FF38" class="no-quick-link"></a>Setting Server Region Data Policy and Scope
-
-Native client remote querying only accesses the data that is available in the remote cache server region, so no local cache loading operations are performed. Depending on the cache server region's scope and data-policy attribute settings, this could mean that your queries and indexes only see a part of the data available for the server region in the distributed cache.
-
-To ensure a complete data set for your queries and indexes, your cache server region must use one of the REPLICATE region shortcut settings in the region attribute refid or it must explicitly have its data policy set to replicate or persistent-replicate .
-
-For a cache server region, setting its data policy to replicate or `persistent-replicate` ensures that it reflects the state of the entire distributed region. Without replication, some server cache entries may not be available.
-
-Depending on your use of the server cache, the non-global distributed scopes `distributed-ack` and `distributed-no-ack `may encounter race conditions during entry distribution that cause the data set to be out of sync with the distributed region. The global scope guarantees data consistency across the distributed system, but at the cost of reduced performance.
-
-The following table summarizes the effects of cache server region scope and data policy settings on the data available to your querying and indexing operations. For more information, see the [Distributed and Replicated Regions](../../../developing/distributed_regions/chapter_overview.html).
-
-<a id="security__table_92A6A66523764199A19BCD66BA189921"></a>
-
-|                                           |                    |                                        |
-|-------------------------------------------|--------------------|----------------------------------------|
-| **Region Scope**                          | **Not replicated** | **Replicated**                         |
-| `distributed-ack or distributed-no-ack` | N/A                | FULL data set (if no race conditions). |
-| `global`                                  | N/A                | FULL data set.                         |
-
-## <a id="security__section_18C174BB0B2A4F23B9A78F872FA220C4" class="no-quick-link"></a>Implementing the equals and hashcode Methods
-
-The `Portfolio` and `Position` query objects for the cache server must have the `equals` and `hashCode` methods implemented, and those methods must provide the properties and behavior mentioned in the online documentation for `Object.equals` and `Object.hashCode`. Inconsistent query results can occur if these methods are absent.
-
-See the `Object` class description in the Java API documentation for more information about the equals and hashCode methods.
-
-## <a id="security__section_407A315F22014CD8A0BC622454789888" class="no-quick-link"></a>Setting Object Type Constraints
-
-Performing queries on cache server regions containing heterogeneous objects, which are objects of different data types, may produce undesirable results. Queries should be performed only on regions that contain homogeneous objects of the same object type, although subtypes are allowed.
-
-So your queries will address homogeneous data types, you need to be aware of the values that the client adds to the server. You can set the `key-constraint` and value-constraint region attributes to restrict region entry keys and values to a specific object type. However, because objects put from the client remain in serialized form in the server cache and do not get deserialized until a query is executed, it is still possible to put heterogeneous objects from the client.
-
-See [Specifying the object types of FROM clause collections](../93-querystrings/3d-specify-object-types.html#security) for more information on associating object types with queries.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb
deleted file mode 100644
index 1fc4091..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/4-quickintro-exampleportfolioregion.html.md.erb
+++ /dev/null
@@ -1,60 +0,0 @@
----
-title:  Examples Data and Class Definitions
----
-
-Examples show C++ and corresponding Java class definitions and sample data for the example `portfolios` region. The region's keys are the portfolio ID.
-
-User-defined data types must implement the `Serializable` interface on the native client side, while corresponding Java classes must implement the `DataSerializable` interface. The C++ objects for the native client must correspond to the Java objects for the Geode cache server. This means that an object on one side should deserialize correctly at the other side.
-
-**Sample C++ class definition**
-
-``` pre
-class Portfolio : public Serializable {
-   int ID;
-   char * type;
-   char * status;
-   Map<Position> positions;
-}
-class Position : public Serializable {
-   char * secId;
-   double mktValue;
-   double qty;
-}
-```
-
-**Corresponding Java class definition**
-
-``` pre
-class Portfolio implements DataSerializable {
-    int ID;
-    String type;
-    String status;
-    Map positions;
-}
-class Position implements DataSerializable {
-    String secId;
-    double mktValue;
-    double qty;
-}
-```
-
-The following table lists the sample data in the portfolios region.
-
-<a id="running-native-client-xact__table_92A6A66523764199A19BCD66BA189921"></a>
-
-|        |          |               |                     |                        |                   |
-|--------|----------|---------------|---------------------|------------------------|-------------------|
-| **id** | **type** | **Statusted** | **Position: secID** | **Position: mktValue** | **Position: qty** |
-| 111    | xyz      | active        | xxx                 | 27.34                  | 1000.00           |
-|        |          |               | xxy                 | 26.31                  | 1200.00           |
-|        |          |               | xxz                 | 24.30                  | 1500.00           |
-| 222    | xyz      | active        | yyy                 | 18.29                  | 5000.00           |
-| 333    | abc      | active        | aaa                 | 24.30                  | 10.00             |
-| 333    | abc      | active        | aab                 | 23.10                  | 15.00             |
-| 444    | abc      | inactive      | bbb                 | 50.41                  | 100.00            |
-| 444    | abc      | inactive      | bbc                 | 55.00                  | 90.00             |
-
-
-Because the client cache waits during transaction execution, and client regions are not distributed, the only activities that interact with a client transaction are those that occur on the server.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb
deleted file mode 100644
index b11bd11..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/41-quickintro-query-portfolioregion.html.md.erb
+++ /dev/null
@@ -1,97 +0,0 @@
----
-title:  Querying the Portfolios Region
----
-
-Examples show a sampling of specific queries that you can run against `portfolios` on the server.
-
-The query results for the data are listed in the table. For the first several, the coding examples are included as well to show how you can execute the queries using the API.
-
-## <a id="running-native-client-xact__section_2EA54E860ACB48259484B555CA065E98" class="no-quick-link"></a>Get distinct positions from portfolios with at least a $25.00 market value
-
-This query assigns iterator variable names to the collections in the FROM clause. For example, the variable `qryP` is the iterator for the entry values in the `portfolios` region. This variable is used in the second part of the FROM clause to access the values of the positions map for each entry value.
-
-``` pre
-Query string: 
-SELECT DISTINCT posnVal
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.mktValue >= 25.00
-
-Results: 
-Collection of Position instances with secId: xxx, xxy, bbb, bbc
-
-```
-
-## <a id="running-native-client-xact__section_F9C4640459F0406A922818B717D3EDB9" class="no-quick-link"></a>Retrieve all active portfolios
-
-In the following example, a query response timeout parameter of 10 seconds is specified for the execute method to allow sufficient time for the operation to succeed.
-
-``` pre
-Query string: 
-SELECT DISTINCT * FROM /portfolios WHERE status = ‘active’
-
-Results: 
-A collection of Portfolio objects for IDs 111, 222, and 333
-
-Code: 
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-QueryPtr qry = qrySvcPtr->newQuery(
-               "SELECT DISTINCT * FROM /portfolios WHERE status = ‘active’");
-SelectResultsPtr resultsPtr = qry->execute(10);
-SelectResultsIterator iter = resultsPtr->getIterator();
-while (iter.hasNext()) {
-    PortfolioPtr portfolio = dynCast<PortfolioPtr >(iter.next());
-}
-```
-
-## <a id="running-native-client-xact__section_71ED0337A0964501A6AE552B758058FC" class="no-quick-link"></a>Retrieve all active portfolios that have type xyz
-
-The `type` attribute is passed to the query engine in double quotes to distinguish it from the query keyword of the same name. A query response timeout parameter of 10 seconds is specified for the execute method to allow sufficient time for the operation to succeed.
-
-``` pre
-Query string: 
-SELECT DISTINCT * FROM /portfolios
-WHERE status = 'active' AND "type" = 'xyz'
-
-Results: 
-A collection of Portfolio objects for IDs 111 and 222
-
-Code: 
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-QueryPtr qry = qrySvcPtr->newQuery("SELECT DISTINCT * FROM
-               /portfolios WHERE status = 'active' and \"type\"='xyz'");
-SelectResultsPtr results = qry->execute(10);
-SelectResultsIterator iter = results->getIterator();
-while (iter.hasNext()) {
-    PortfolioPtr portfolio = dynCast<PortfolioPtr >(iter.next());
-}
-```
-
-## <a id="running-native-client-xact__section_4F13C92EDBCA4F04BE37C87D44AD7D49" class="no-quick-link"></a>Get the ID and status of all portfolios with positions in secId 'yyy'
-
-``` pre
-Query string: 
-SELECT DISTINCT id, status FROM /portfolios
-WHERE NOT (SELECT DISTINCT * FROM positions.values posnVal TYPE
-Position WHERE posnVal.secId='yyy').isEmpty
-
-Results: 
-A collection of Struct instances, each containing an id field and a status field. 
-For this data, the collection length is 1 and the Struct contains data
-from the entry with id 222.
-
-
-Code: 
-QueryServicePtr qrySrvPtr = cachePtr->getQueryService("examplePool");
-QueryPtr qry = qrySvcPtr->newQuery(
-   "import javaobject.Position; SELECT DISTINCT ID, status FROM "
-   "/portfolios WHERE NOT (SELECT DISTINCT * FROM positions.values"
-   "posnVal TYPE Position WHERE posnVal.secId='DELL').isEmpty");
-SelectResultsPtr results = qry->execute(10);
-SelectResultsIterator iter = results->getIterator();
-while (iter.hasNext()) {
-    Struct * si = (Struct *) iter.next().ptr();
-    SerializablePtr id = si->operator[]("ID");
-    SerializablePtr status = si->operator[]("status");
-    printf("\nID=%s, status=%s", id->toString()->asChar(), status->toString()->asChar());
-}
-```

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb b/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb
deleted file mode 100644
index f05929d..0000000
--- a/geode-docs/nativeclient/remote-querying/91-quickintro/42-quickintro-modify-cachecontents.html.md.erb
+++ /dev/null
@@ -1,25 +0,0 @@
----
-title:  Modifying Cache Contents
----
-
-To modify the cache based on information retrieved through querying, retrieve the entry keys and use them in the standard entry update methods.
-
-The query service is a data access tool, so it does not provide any cache update functionality.
-
-The next example shows entry key retrieval.
-
-## Get distinct entry keys and positions from active portfolios with at least a $25.00 market value
-
-In the following example, retrieving the entry keys allows you to access the cached region entries for update. You cannot update the cache through the query engine.
-
-``` pre
-Query string: 
-SELECT DISTINCT key, posnVal
-FROM /portfolios.entrySet, value.positions.values posnVal TYPE Position
-WHERE posnVal.mktValue >= 25.00
-
-Results: 
-A SelectResults of Struct instances containing key, Position pairs.
-```
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb
deleted file mode 100644
index b0e6df5..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/2-accessingdata.html.md.erb
+++ /dev/null
@@ -1,14 +0,0 @@
----
-title:  Accessing Cached Data
----
-
-Accessing your cached data through the querying service is similar to accessing database contents through SQL queries. How you specify your regions and region contents is particular to the native client.
-
-The query language supports drilling down into nested object structures. Regions can contain nested data collections that are unavailable until referenced in the FROM clause.
-
-This discussion describes how to navigate to your cached data through the native client query service.
-
-**Note:**
-Querying and indexing only operate on remote cache server contents.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb
deleted file mode 100644
index b5945a3..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/21-basic-region-access.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Basic Region Access
----
-
-In the context of a query, you specify the name of a region by its full path, starting with a forward slash (/ ).
-
-## <a id="security__section_789E081192A74B00B0E726EDC1C574C4" class="no-quick-link"></a>Object Attributes
-
-You can access the Region object's public fields and methods from a region path, referred to as the region's attributes. Using this method, `/portfolios.name` returns "`portfolios`" and `/portfolios.name.length` returns `10` . An attribute is mapped to a Java class member in three possible ways with the following priority until a match is found. If the attribute is named x, then:
-
-``` pre
-public method getX()
-public method x()
-public field x
-```
-
-**Note:**
-The term *attribute* in this context is not the same as a region attribute.
-
-## <a id="security__section_D64CB943612640D6B899023E5D997DB2" class="no-quick-link"></a>Region Data
-
-You can also access entry keys and entry data through the region:
-
--   `/portfolios.keySet` returns the `Set` of entry keys in the region
--   `/portfolios.entrySet` returns the `Set` of `Region.Entry` objects
--   `/portfolios.values` returns the Collection of entry values
--   `/portfolios` return the Collection of entry values
-    **Note:**
-    These collections are immutable. Invoking modifier methods on them, such as `add` and `remove`, result in an `UnsupportedOperationException`.
-
-For the last two bullets, the FROM clause `/portfolios.values` and `/portfolios` return the same thing.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb
deleted file mode 100644
index ee11e15..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/22-drilldown-modify-query-scope.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Modifying Query Scope
----
-
-The query engine resolves names and path expressions according to the name space that is currently in scope in the query. This is not the region scope attribute, but the scope of the query statement.
-
-The initial name space for any query is composed of the region paths of the cache on the cache server and the attributes of those paths. New name spaces are brought into scope based on the `FROM` clause in the `SELECT` statement. For example, in this query the `FROM` expression evaluates to the collection of entry values in `/portfolios`. This is added to the initial scope of the query and status is resolved within the new scope.
-
-``` pre
-SELECT DISTINCT *
-FROM /portfolios
-WHERE status = 'active'
-```
-
-Each `FROM` clause expression must resolve to a collection of objects available for iteration in the query expressions that follow. In the example above, `/portfolios` resolves to the Collection of entry values in the region. The entry value collection is iterated by the `WHERE` clause, comparing the status field to the string active. When a match is found, the value object is added to the return set.
-
-In the following query, the collection specified in the first FROM clause expression is used by the second FROM clause expression and by the projections of the SELECT statement.
-
-``` pre
-IMPORT cacheRunner.Position;
-SELECT DISTINCT "type"
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.qty > 1000.00
-```
-
-**Note:**
-You cannot change the order of the expressions in this FROM clause. The second expression depends on the scope created by the first expression.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb
deleted file mode 100644
index 11656c8..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/23-attribute-visibility.html.md.erb
+++ /dev/null
@@ -1,49 +0,0 @@
----
-title:  Attribute Visibility
----
-
-Within the current query scope, you can access any available object or object attribute.
-
-In querying, an object'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, so at the beginning of a query all cached regions and their attributes on the cache server are in scope.
-
-This query is valid because name resolves to the Region method `getName`:
-
-``` pre
-/portfolios.name
-```
-
-This query is valid because `toArray` resolves to the `Collection` method with the same name:
-
-``` pre
-SELECT DISTINCT * FROM /portfolios.toArray
-```
-
-<a id="security__section_611591AEA6084A5ABB00DE3E19984498"> </a>
-
-You cannot, however, refer to the attribute of a collection object in the region path expression where the collection itself is specified. The following statement is invalid because neither <code class="ph codeph">Collection</code> nor <code class="ph codeph">Region</code> contain an attribute named <code class="ph codeph">positions</code>. The entry values collection (specified by <code class="ph codeph">/portfolios</code>) that does contain an attribute named positions is not yet part of the query name space.
-
-``` pre
-/* INCORRECT: positions is not an attribute of Region or of Collection */
-SELECT DISTINCT * FROM /portfolios.positions
-```
-
-The following `SELECT` statement is valid, because `positions` is an element of the entry value collection that is specified by `/portfolios`. The entry value collection is in scope as soon as the specification in the FROM expression is complete (before `WHERE` or `SELECT` are evaluated).
-
-``` pre
-SELECT DISTINCT positions FROM /portfolios
-```
-
-You can also refer to positions inside the FROM clause after the `/portfolios` entry value collection is created. In this example, positions is an element of the `/portfolios` entry value collection and values is an attribute of positions:
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT posnVal
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.mktValue >= 25.00
-```
-
-After the comma in the FROM clause, `/portfolios` is in scope, so its value collection can be iterated. In this case, this is done with the second FROM clause specification, `positions.values`.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb
deleted file mode 100644
index 4b82eda..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/24-nested-query-scope.html.md.erb
+++ /dev/null
@@ -1,38 +0,0 @@
----
-title:  Nested Query Scopes
----
-
-You can nest scopes by using nested `SELECT` statements. Names in an inner scope hide identical names in an outer scope.
-
-In the query below, the inner `SELECT` creates a new scope, the positions of the current portfolio, inside the outer `SELECT` 's scope, `/portfolios`. This inner scope (the collection of entry values from the `/portfolios` region) is first searched for the `secId` element. The outer scope is searched only if the `secId` element is not found in the inner scope.
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT * FROM /portfolios
-   WHERE NOT
-    (SELECT DISTINCT * FROM positions.values TYPE Position
-       WHERE secId='YYY').isEmpty
-```
-
-This statement shows the outer scope in bold. The outer scope has all the attributes of a Portfolio in it.
-
-<pre>
-IMPORT javaobject.Position;
-<b>SELECT DISTINCT * FROM /portfolios</b>
-      <b>WHERE NOT</b>
-        (SELECT DISTINCT * FROM positions.values TYPE Position
-            WHERE secId='YYY')<b>.isEmpty</b>
-</pre>
-
-<a id="security__section_611591AEA6084A5ABB00DE3E19984498"></a>
-Now the statement with the inner scope is shown in bold. The inner scope has all the attributes of a `Portfolio` in it (inherited from the outer scope), and all the attributes of a `Position` as well.
-
-<pre>
-IMPORT javaobject.Position;
-SELECT DISTINCT * FROM /portfolios
-   WHERE NOT
-     (<b>SELECT DISTINCT * FROM positions.values TYPE Position
-         WHERE secId='YYY</b>).isEmpty
-</pre>
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb b/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb
deleted file mode 100644
index 4b148a4..0000000
--- a/geode-docs/nativeclient/remote-querying/92-querylanguage/25-when-names-cant-resolve.html.md.erb
+++ /dev/null
@@ -1,5 +0,0 @@
----
-title:  When Names Cannot Be Resolved
----
-
-When a query is executed and a name or path expression resolves to more than one region name in the scope, or if the name cannot be resolved at all, the client receives a `QueryException`. The `QueryException` contains the message that is generated for the exception that occurs on the server.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb
deleted file mode 100644
index 14996c5..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/1-querystring-overview.html.md.erb
+++ /dev/null
@@ -1,11 +0,0 @@
----
-title:  Using Query Strings in the Native Client
----
-
-To use a query string in a native client, specify the string as a parameter in a `QueryService::newQuery` method, then execute the query using `Query::execute`, passing in the required parameters.
-
-Alternatively, if an expression evaluates to a boolean value, you can specify it using the region shortcut methods `Region::existsValue`, `Region::selectValue`, and `Region::query`. These shortcut methods evaluate whether given expressions return any entries and return a single value entry, respectively. See [Region Shortcut Query Methods](../95-remotequeryapi/2-create-manage-queries.html#running-native-client-xact__section_0F92AD1BDB29426BB24CD41F5A0FAB78) for more information about these shortcut methods.
-
-If your query requires any `IMPORT` statements, you must include these before the `SELECT` statement in the query string that is passed to the query engine. It should be a fully qualified package name relative to the cache server. The Java class definition must exist and have the exact footprint as the native client C++ class.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb
deleted file mode 100644
index c2dd1cb..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3-from-clause.html.md.erb
+++ /dev/null
@@ -1,58 +0,0 @@
----
-title:  FROM Clause
----
-
-The `FROM` clause establishes collections of objects that are iterated over by the remainder of the query.
-
-The attributes of the objects in these collections are added to the name space scope for the remainder of the `FROM` clause as well as for the `WHERE` clause and the `SELECT` projection list.
-
-Each `FROM` clause expression must evaluate to a collection. The expression `/portfolios.keySet` is valid because it evaluates to a `Collection`, but `/portfolios.name`, which evaluates to a `String` , causes an exception to be thrown.
-
-Like the SQL query, which iterates over the tables named in its `FROM` clause, the `OQL` query iterates over the `Collections` established in its `FROM` clause.
-
-In the following query, `positions.values` evaluates to a `Collection` because `positions` is a Map, and the method values on `Map` returns a `Collection`.
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT "type"
-FROM /portfolios, positions.values posnVal TYPE Position
-WHERE posnVal.qty > 1000.00
-```
-
-Every expression in the `FROM` clause must evaluate to a `Collection`. For a Map, the values method returns a `Collection`.
-
-If positions were a List instead of a Map , this query could be used to retrieve the data:
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT "type"
-FROM /portfolios, positions posnVal TYPE Position
-WHERE posnVal.qty >= 1000.00
-```
-
-A List is a `Collection`, so you can access it directly or through its `toArray` method.
-
-For each object type accessed in your `FROM` clause, use the method that returns a `Collection` for that object.
-
-Each expression in the `FROM` clause can be any expression that evaluates to a `Collection`. An expression in the `FROM` clause is typically a path expression that resolves to a region in the cache so that the values in the region become the collection of objects to filter.
-
-For example, this is a simple `SELECT` statement that evaluates to a set of all the entry value objects of the region `/portfolios` with active status. The collection of entry values provided by the `FROM` clause is traversed by the `WHERE` clause, which accesses each element’s status attribute for comparison.
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE status = 'active'
-```
-
-If the `FROM` clause has only one expression in it, the result of the clause is the single collection that the expression evaluates to. If the clause has more than one expression in it, the result is a collection of structs that contain a member for each of those collection expressions. For example, if the `FROM` clause contains three expressions that evaluate to collections `C1`, `C2,` and `C3`, the `FROM` clause generates a set of `struct(x1, x2, x3)` where `x1`, `x2`, and `x3` represent nested iterations over the collections specified.
-
-If the collections are independent of each other, this `struct` represents their cartesian product.
-
-In this query, the `FROM` clause produces a `struct` of `portfolio` and position pairs to be iterated. Each element in the struct contains the portfolio and one of its contained positions.
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT "type" FROM /portfolios, positions TYPE Position
-WHERE qty > 1000.00
-```
-
-To understand the effects of `FROM` expressions on query scope, see [Drilling Down for Modifying Query Scope](../92-querylanguage/22-drilldown-modify-query-scope.html#security).
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb
deleted file mode 100644
index 89de4e7..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3a-iterator-variables.html.md.erb
+++ /dev/null
@@ -1,16 +0,0 @@
----
-title:  Using Iterator Variables
----
-
-For each collection expressed in the `FROM` clause, you can associate an explicit variable. The variable is added to the current scope and becomes the iterator variable bound to the elements of the collection as they are iterated over. In this example, `pflo` and `posnVal` are both explicit iterator variables.
-
-**Query Using Explicit Iterator Variables**
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT pflo."type", posnVal.qty
-FROM /portfolios pflo, positions.values posnVal TYPE Position
-WHERE pflo.status = 'active' and posnVal.mktValue > 25.00
-```
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb
deleted file mode 100644
index 3108ac4..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3b-importing-using-object-classes.html.md.erb
+++ /dev/null
@@ -1,32 +0,0 @@
----
-title:  Importing and Using Object Classes
----
-
-To facilitate the specification of type in variable type declarations and in typecasting expressions, a query string can have `IMPORT` statements preceding the declarations. By using `IMPORT` in the query string, the client can tell the cache server about the class definition of the serialized object that is present in the cache server region.
-
-The only place you can have a package name in a query is in an import statement. These are valid:
-
-``` pre
-IMPORT com.myFolder.Portfolio;
-IMPORT com.myFolder.Portfolio AS MyPortfolio;
-```
-
-The first form of the import statement allows Portfolio to be used as the name of the class, `com.myFolder.Portfolio`. The second form provides an alternative class name, MyPortfolio, to be used. This is useful when a class name is not unique across packages and classes in a single query.
-
-## Using Imported Classes
-
-The following example uses imported classes:
-
-``` pre
-IMPORT com.commonFolder.Portfolio;
-IMPORT com.myFolder.Portfolio AS MyPortfolio;
-SELECT DISTINCT mpflo.status
-FROM /portfolios pflo TYPE Portfolio,
-/myPortfolios mpflo TYPE MyPortfolio,
-WHERE pflo.status = 'active' and mpflo.id = pflo.id
-```
-
-This entire query string must be passed to the query engine, including the `IMPORT` statements.
-Common type names do not require an `IMPORT` statement. The following table lists the types that are defined by the system and the Java types they represent.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb
deleted file mode 100644
index f243552..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3c-predefined-class-types.html.md.erb
+++ /dev/null
@@ -1,29 +0,0 @@
----
-title:  Predefined Class Types
----
-
-The `FROM` clause establishes collections of objects that are iterated over by the remainder of the query. The attributes of the objects in these collections are added to the name space scope for the remainder of the `FROM` clause as well as for the `WHERE` clause and the `SELECT` projection list.
-
-The type specification can be an imported type or any of these predefined types.
-
-|                                                     |                      |                   |                                           |
-|-----------------------------------------------------|----------------------|-------------------|-------------------------------------------|
-| **Type**                                            | **Java**             | **C++**           | **.NET**                                  |
-| short                                               | short                | CacheableInt16    | Int16                                     |
-| long                                                | long                 | CacheableInt64    | Int64                                     |
-| int                                                 | int                  | CacheableInt32    | Int32                                     |
-| float                                               | float                | CacheableFloat    | Single                                    |
-| double                                              | double               | CacheableDouble   | Double                                    |
-| char                                                | char                 | CacheableWideChar | Char                                      |
-| string                                              | java.lang.String     | CacheableString   | String                                    |
-| boolean                                             | boolean              | CacheableBoolean  | Boolean                                   |
-| byte or octet                                       | byte                 | CacheableByte     | Byte                                      |
-| date                                                | java.sql.Date        | CacheableDate     | DateTime                                  |
-| time                                                | java.sql.Time        | Unsupported       | Unsupported                               |
-| timestamp                                           | java.sql.Timestamp   | Unsupported       | Unsupported                               |
-| set&lt;type&gt;                                     | java.util.Set        | CacheableHashSet  | HashSet&lt;type&gt;                       |
-| list&lt;type&gt;                                    | java.util.List       | CacheableVector   | List&lt;type&gt;                          |
-| array&lt;type&gt;                                   | java.lang.Object\[\] | CacheableArray    | ArrayList&lt;type&gt;                     |
-| map&lt;type,type&gt; or dictionary&lt;type,type&gt; | java.lang.Map        | CacheableHashMapp | Dictionary&lt;type, type&gt; or HashTable |
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb
deleted file mode 100644
index 66afcef..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/3d-specify-object-types.html.md.erb
+++ /dev/null
@@ -1,53 +0,0 @@
----
-title:  Specifying the Object Types of FROM Clause Collections
----
-
-To resolve implicit attribute names, the query engine must be able to associate each attribute or method name to a single iterator expression in the `FROM` clause.
-
-Depending on the complexity of the query, the engine may be able to discover the proper associations on its own, but providing the specifications described here increases the chances for success.
-
-The server region being queried should contain only homogeneous objects of the same type. See [Setting Object Type Constraints](../91-quickintro/3-quickintro-requirements.html#security__section_407A315F22014CD8A0BC622454789888) for more information.
-
-The object type information must be available when the query is created. To provide the appropriate information to the query engine, specify the type for each of your `FROM` clause collection objects by importing the object's class before running the query and typing the object inside the query. For the example region, this query is valid (all of the examples in this section assume that this `IMPORT` statement is provided):
-
-**Query Using IMPORT and TYPE for Object Typing**
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT mktValue
-FROM /portfolios, positions.values TYPE Position
-WHERE mktValue > 25.00
-```
-
-This entire query string must be passed to the query engine, including the IMPORT statement. Import the object’s class before running the query and typecast the object inside the query. For the example region, both of these queries are valid:
-
-**Query Using IMPORT and Typecasting for Object Typing**
-
-``` pre
-IMPORT javaobject.Position;
-SELECT DISTINCT value.mktValue
-  FROM /portfolios, (map<string,Position>)positions
-  WHERE value.mktValue > 25.00
-IMPORT cacheRunner.Position;
-SELECT DISTINCT mktValue
-  FROM /portfolios, (collection<Position>)positions.values
-  WHERE mktValue > 25.00
-```
-
-This entire query string must be passed to the query engine, including the `IMPORT` statement. Use named iterators in the `FROM` clause and explicitly prefix the path expression with iterator names.
-
-**Query Using Named Iterators for Object Typing**
-
-``` pre
-SELECT DISTINCT posnVal
-
-FROM /portfolios pflo, pflo.positions.values posnVal
-
-WHERE posnVal.mktValue >= 25.00
-```
-
-The `IMPORT` statements in these examples assume that the `classes` directory of the examples is in the `CLASSPATH`. This is required so the cache server can process `IMPORT` statements. The class's package name cannot be used in the `FROM` clause. The package name must be specified in an `IMPORT` statement.
-
-There is one exception to these typing guidelines. If one `FROM` expression lacks explicit typing, the query engine associates all unresolved attributes with that expression and creates the query. An exception is thrown if any of these attributes are not found at execution time.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb
deleted file mode 100644
index 1c0fca0..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/4-where-clause.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  WHERE Clause
----
-
-The optional WHERE clause defines the search criteria for the selection, filtering the set of elements specified by the FROM clause.
-
-Without a WHERE clause, the SELECT projection list receives the entire collection or set of collections as specified in the FROM clause.
-
-The query processor searches the collection for elements that match the conditions specified in the WHERE clause conditions. If there is an index on an expression matched by the WHERE clause, then the query processor may use the index to optimize the search and avoid iterating over the entire collection. For more information on indexes, see [Advanced Querying](../../../developing/query_additional/advanced_querying.html).
-
-A WHERE clause expression is a boolean condition that is evaluated for each element in the collection. If the expression evaluates to true for an element, the query processor passes that element on to the SELECT projection list. This example uses the WHERE clause to return the portfolio objects in the region that have a type xyz .
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE "type" = 'xyz'
-```
-
-The next query returns the set of all portfolios with a type of xyz and active status.
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE "type" = 'xyz' AND status = 'active'
-```
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb
deleted file mode 100644
index 4fc2318..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/5-joins.html.md.erb
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title:  Joins
----
-
-If collections in the `FROM` clause are not related to each other, you can use the `WHERE` clause to join them.
-
-The statement below returns all the persons from the `/Persons` region with the same name as a flower in the `/Flowers` region.
-
-``` pre
-SELECT DISTINCT p FROM /Persons p, /Flowers f WHERE p.name = f.name
-```
-
-Indexes are supported for region joins. 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.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb
deleted file mode 100644
index 0e93844..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/6-select-projection-list.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  SELECT Projection List
----
-
-The projections in the SELECT projection list are used to transform the results of the WHERE search operation.
-
-You specify the projection list either as \* or as a comma delimited list of expressions. For \*, the interim results of the WHERE clause are returned from the query. Otherwise, the set of objects in the interim results are iterated and the projections applied to each of the objects. During the application of the projection list, the attributes of the objects being traversed are in scope for name resolution.
-
-You can also specify retrieval of the entry keys in your projection list. This allows you to access the associated cached entries for modification and other purposes. The following example shows how the Region entry key can be obtained by using the region entries in the FROM clause and using appropriate projections. This query runs on the /portfolios region, returning a set of `struct<key:string, id:string,                 secId:string>` where `key` is the key of the region entry, `id` is an entry ID, and `secId` is a secId of a `positionsmap` for the entry.
-
-``` pre
-SELECT DISTINCT key, entry.value.id, posnVal.secId
-
-FROM /portfolios.entrySet entry, entry.value.positions.values posnVal
-
-WHERE entry.value."type" = 'xyz' AND posnVal.secId = 'XXX'
-```
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb
deleted file mode 100644
index eef7f7f..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/7-select-statement-query-results.html.md.erb
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title:  SELECT Statement Query Results
----
-
-The result of a `SELECT` statement is a collection that implements the `SelectResults` interface or it is `UNDEFINED`.
-
-The `SelectResults` returned from the `SELECT` statement is either a collection of objects or a `Struct` collection containing the objects. (See also the API documentation for Query.)
-
-Because a `SELECT` statement returns a result, it can be composed with other expressions like the following example:
-
-``` pre
-(SELECT DISTINCT * FROM /portfolios WHERE status = 'active').iterator
-```
-
-A collection of objects is returned in two cases:
-
--   When only one expression is specified by the projection list and that expression is not explicitly specified using the `fieldname:expression` syntax
-
--   When the `SELECT` list is \* and a single collection is specified in the FROM clause
-
-<a id="security__table_D501DA045E684E00AEBD5FED5ED24853"></a>
-
-<table>
-<caption><span class="tablecap">Table 1. Matrix of SelectResults Contents Based on SELECT and FROM Clause Specifications</span></caption>
-<colgroup>
-<col width="25%" />
-<col width="25%" />
-<col width="25%" />
-<col width="25%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><p><strong>SELECT</strong></p>
-<p><strong>FROM</strong></p></td>
-<td><strong>*</strong></td>
-<td><strong>Single Expressions</strong></td>
-<td><strong>Multiple Expressions</strong></td>
-</tr>
-<tr class="even">
-<td><strong>single expression</strong></td>
-<td>Objects</td>
-<td><p>Objects. (<code class="ph codeph">Struct</code> if the projection specifies a field name.)</p></td>
-<td><code class="ph codeph">Struct</code></td>
-</tr>
-<tr class="odd">
-<td><strong>multiple expressions</strong></td>
-<td><code class="ph codeph">Struct</code></td>
-<td><p>Objects. (<code class="ph codeph">Struct</code> if the projection specifies a field name.)</p></td>
-<td><code class="ph codeph">Struct</code></td>
-</tr>
-</tbody>
-</table>
-
-When a `Struct` is returned, the name of each field in the `Struct             `is determined as follows:
-
--   If a field is specified explicitly using the `fieldname:expression` syntax, the fieldname is used.
--   If the `SELECT` projection list is \* and an explicit iterator expression is used in the `FROM` clause, the iterator variable name is used as the field name.
--   If the field is associated with a region or attribute path expression, the last attribute name in the expression is used.
-
-If names can not be decided based on these rules, arbitrary unique names are generated by the query processor.
-
-These examples show how the projections and FROM clause expressions are applied.
-
-<table>
-<colgroup>
-<col width="33%" />
-<col width="33%" />
-<col width="33%" />
-</colgroup>
-<tbody>
-<tr class="odd">
-<td><code class="ph codeph">SELECT &lt;*&gt; FROM &lt;single expression&gt;</code></td>
-<td><code class="ph codeph">SELECT DISTINCT *</code>
-<p><code class="ph codeph">FROM /portfolios</code></p>
-<p><code class="ph codeph">WHERE status ='active'</code></p></td>
-<td>Returns the <code class="ph codeph">Collection</code> of active portfolios objects.</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">SELECT &lt;single expression&gt; FROM                                 &lt;multiple expression&gt; </code>(without <code class="ph codeph">fieldName</code> mentioned)</td>
-<td><code class="ph codeph">IMPORT javaobject.Position; </code> <code class="ph codeph">SELECT DISTINCT secId</code>
-<p><code class="ph codeph">FROM /portfolios,</code></p>
-<p>positions.values TYPE Position</p>
-<p>WHERE status ='active'</p></td>
-<td>Returns the <code class="ph codeph">Collection</code> of <code class="ph codeph">secIds</code> (<code class="ph codeph">CacheableString</code>
-<p>objects) from the positions of active portfolios.</p></td>
-</tr>
-<tr class="odd">
-<td><code class="ph codeph">SELECT &lt;single expression&gt; FROM</code>
-<p><code class="ph codeph">&lt;multiple expression&gt;</code> (with <code class="ph codeph">fieldName</code> mentioned)</p></td>
-<td><code class="ph codeph">IMPORT javaobject.Position;SELECT DISTINCT                                 secIdFieldName:secId</code>
-<p><code class="ph codeph">FROM /portfolios, positions.values TYPE Position </code></p>
-<p><code class="ph codeph">WHERE status ='active'</code></p></td>
-<td>Returns <code class="ph codeph">struct&lt;secIdField:                                 CacheableString&gt;</code> for the active portfolios. (Compare to the results for the prior query.)</td>
-</tr>
-<tr class="even">
-<td><code class="ph codeph">SELECT &lt;*&gt; FROM &lt;multiple expression&gt;</code></td>
-<td><p><code class="ph codeph">IMPORT javaobject.Position; SELECT DISTINCT *</code></p>
-<p><code class="ph codeph">FROM /portfolios, positions.values TYPE Position </code></p>
-<p><code class="ph codeph">WHERE status = 'active'</code></p></td>
-<td><p>Returns a <code class="ph codeph">Collection</code> of <code class="ph codeph">struct&lt;portfolios: Portfolio, values:                                     Position&gt;</code> for the active portfolios.</p></td>
-</tr>
-<tr class="odd">
-<td><p><code class="ph codeph">SELECT &lt;multiple expression&gt; FROM &lt;multiple                                     expression&gt;</code></p></td>
-<td><p><code class="ph codeph">IMPORT javaobject.Position;</code></p>
-<p><code class="ph codeph">SELECT DISTINCT pflo, posn</code></p>
-<p><code class="ph codeph">FROM /portfolios pflo, positions posn TYPE Position</code></p>
-<p><code class="ph codeph">WHERE pflo.status = 'active'</code></p></td>
-<td><p>Returns a <code class="ph codeph">Collection</code> of <code class="ph codeph">struct&lt;pflo:                                     Portfolio, posn: Position&gt;</code> for the active portfolios.</p></td>
-</tr>
-</tbody>
-</table>
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb
deleted file mode 100644
index d2f5545..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8-query-language-elements.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Query Language Elements
----
-
-This section discusses various aspects and tools of the native client query engine.
-
--   **[Method Invocation](../../../nativeclient/remote-querying/93-querystrings/8a-method-invocation.html)**
-
-    The query language supports method invocation inside query expressions.
-
--   **[Query Language Literals Supported by Native Client](../../../nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html)**
-
-    Query language expressions can contain literals as well as operators and attribute names. The native client supports many types of literals.
-
--   **[Type Conversions](../../../nativeclient/remote-querying/93-querystrings/8c-type-conversions.html)**
-
-    Java rules within a query string require the query processor to perform implicit conversions and promotions under certain cases in order to evaluate expressions that contain different types.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb
deleted file mode 100644
index 0853001..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8a-method-invocation.html.md.erb
+++ /dev/null
@@ -1,18 +0,0 @@
----
-title:  Method Invocation
----
-
-The query language supports method invocation inside query expressions.
-
-<a id="security__section_9EB15A373E8C41E1A1C40981588A4DFB"></a>
-
-The query processor maps attributes in query strings using the attribute rules described in [Object Attributes](../92-querylanguage/21-basic-region-access.html#security__section_789E081192A74B00B0E726EDC1C574C4). Methods declared to return `void` evaluate to `null` when invoked through the query processor.
-If you know that the attribute name maps to a public method that takes no parameters, you can simply include the method name in the query string as an attribute. For example, `emps.isEmpty` is equivalent to `emps.isEmpty`() . In the following example, the query invokes `isEmpty` on positions, and returns the set of all portfolios with no positions.
-
-``` pre
-SELECT DISTINCT * FROM /portfolios WHERE positions.isEmpty
-```
-
-The native client also supports the invocation of public methods with parameters. To invoke methods with parameters, include the method name as an attribute in the query string and provide the method arguments between parentheses. You can only use constants in the query strings.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb
deleted file mode 100644
index 4f91f5f..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8b-query-lang-literals.html.md.erb
+++ /dev/null
@@ -1,19 +0,0 @@
----
-title:  Query Language Literals Supported by Native Client
----
-
-Query language expressions can contain literals as well as operators and attribute names. The native client supports many types of literals.
-
--   `boolean`. Boolean value, either `TRUE` or `FALSE`.
--   `integer` and `long`. Type `long` if it is suffixed with the ASCII letter L. Otherwise it is of type `int`.
--   `floating point`.Type float if it is suffixed with an ASCII letter F. Otherwise its type is double and it can optionally be suffixed with an ASCII letter D . A double or floating point literal can optionally include an exponent suffix of E or e, followed by a signed or unsigned number.
--   `string`. Delimited by single quotation marks. Embedded single quotation marks are doubled. For example, the character string `'Hello'` evaluates to the value `Hello`, while the character string `'He said,                     ''Hello'''` evaluates to `He said, 'Hello'`. Embedded newlines are kept as part of the string literal.
--   `char`. Type `char` if it is a string literal prefixed by the keyword `CHAR`; otherwise it is of type `string `. The CHAR literal for the single quotation mark character is `CHAR ''''` (four single quotation marks).
--   `date`. `java.sql.Date` object that uses the JDBC format prefixed with the `DATE` keyword: `DATE yyyy-mm-dd`. In the Date, `yyyy` represents the year, `mm` represents the month, and `dd` represents the day. The year must be represented by four digits; a two-digit shorthand for the year is not allowed.
--   `time`. Not supported.
--   `timestamp`. Not supported.
--   `NIL`. Equivalent alternative of `NULL`.
--   `NULL`. Same as `null` in Java.
--   `UNDEFINED`. Special literal that is a valid value for any data type. An `UNDEFINED` value is the result of accessing an attribute of a null-valued attribute. If you access an attribute that has an explicit value of null, then it is not undefined. For example, if a query accesses the attribute `address.city` and address is null, then the result is undefined. If the query accesses `address`, then the result is not undefined, it is null.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb b/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb
deleted file mode 100644
index 8b2a060..0000000
--- a/geode-docs/nativeclient/remote-querying/93-querystrings/8c-type-conversions.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Type Conversions
----
-
-Java rules within a query string require the query processor to perform implicit conversions and promotions under certain cases in order to evaluate expressions that contain different types.
-
-The query processor performs binary numeric promotion, method invocation conversion, and temporal type conversion.
-
-## <a id="security__section_A445225717A646478C656DA8AB8334CD" class="no-quick-link"></a>Binary numeric promotion
-
-Binary numeric promotion widens all operands in a numeric expression to the widest representation used by any of the operands. In each expression, the query processor applies the following rules in order:
-
--   If either operand is of type double, the other is converted to double.
--   If either operand is of type float, the other is converted to float.
--   If either operand is of type long, the other is converted to long.
--   Both operands are converted to type int.
-
-The query processor performs binary numeric promotion on the operands of the following operators:
-
--   comparison operators &lt;, &lt;=, &gt;, and &gt;=
--   equality operators = and &lt;&gt;
-
-This is essentially the same behavior as in Java, except that chars are not considered to be numeric in the native client query language.
-
-## <a id="security__section_ED0CF17A3119452D8A6FCB95FEEBF3B3" class="no-quick-link"></a>Method invocation conversion
-
-Method invocation conversion in the query language follows the same rules as Java method invocation conversion, except that the query language uses runtime types instead of compile time types, and handles null arguments differently than in Java. One aspect of using runtime types is that an argument with a null value has no typing information, and so can be matched with any 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 `AmbiguousNameException`. For more information on method invocation in query strings, see [Method Invocation](8a-method-invocation.html#security).
-
-## <a id="security__section_940BA11A53204B3985B955102CB52681" class="no-quick-link"></a>Temporal type conversion
-
-The temporal types that the query language supports on the cache server include the Java types `java.util.Date` and `java.sql.Date`, which are treated the same and can be freely compared and used in indexes. When compared with each other, these types are all treated as nanosecond quantities.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb b/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb
deleted file mode 100644
index ea85945..0000000
--- a/geode-docs/nativeclient/remote-querying/94-indexes/indexes-overview.html.md.erb
+++ /dev/null
@@ -1,31 +0,0 @@
----
-title:  Creating Indexes
----
-
-An index can provide significant performance gains for query execution. You create and maintain indexes on the cache server.
-
-A query run without an index iterates through every object in the collection on the cache server. If an index is available that matches part or all of the query specification, the query iterates only over the indexed set, and query processing time can be reduced.
-
-When you create your indexes on the cache server, remember that indexes incur maintenance costs as they must be updated when the indexed data changes. An index that requires many updates and is not used very often may require more system resources than no index at all. Indexes also consume memory. For information on the amount of memory used for indexes, see the system configuration information.
-
-You can create an index for remote querying declaratively on the cache server in a `cache.xml` file, as shown in this example.
-
-**Creating an Index on a Cache Server Using a Server XML File**
-
-``` pre
-<region name="portfolios">
-   <region-attributes . . . >
-     <value-constraint>cacheRunner.Portfolio</value-constraint>
-   </region-attributes>
-   <index name="myFuncIndex">
-      <functional from-clause="/portfolios" expression="status"/>
-   </index>
-   <index name="myPrimIndex">
-      <primary-key field="id"/>
-   </index>
-   <entry> . . . 
-```
-
-For detailed information about working with indexes configured on a cache server, see the section [Working with Indexes](../../../developing/query_index/query_index.html).
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb b/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb
deleted file mode 100644
index 7756b95..0000000
--- a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html.md.erb
+++ /dev/null
@@ -1,23 +0,0 @@
----
-title:  Remote Query API
----
-
-You use the native client querying API to access all the querying functionality discussed in the previous sections.
-
-This section gives a general overview of the interfaces and classes that are provided by the Query package API, and the shortcut methods provided in the Region interface. For complete, current information on the classes and interfaces discussed here, see the native client API documentation.
-
--   **[Creating and Managing Queries](../../../nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html)**
-
-    You create queries on the cache server by obtaining a `QueryService` method and manage them through the resulting `Query` object. The `Region` interface has several shortcut query methods.
-
--   **[Query Result Sets](../../../nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html)**
-
--   **[Query Code Samples Returning ResultSet](../../../nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html)**
-
-    API examples demonstrate methods for returning `ResultSet` for both built-in and user-fined data types.
-
--   **[Query Code Samples Returning StructSet](../../../nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html)**
-
-    These examples return a `StructSet` for built-in and user-defined data types, `Struct` objects, and collections.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb b/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb
deleted file mode 100644
index e685182..0000000
--- a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/2-create-manage-queries.html.md.erb
+++ /dev/null
@@ -1,46 +0,0 @@
----
-title:  Creating and Managing Queries
----
-
-You create queries on the cache server by obtaining a `QueryService` method and manage them through the resulting `Query` object. The `Region` interface has several shortcut query methods.
-
-The `newQuery` method for the `Query` interface binds a query string. By invoking the `execute` method, the query is submitted to the cache server and returns` SelectResults`, which is either a `ResultSet` or a `StructSet`.
-
-The `QueryService` method is the entry point to the query package. It is retrieved from the Cache instance through `Cache::getQueryService`. If you are using the Pool API you must obtain the `QueryService` from the pools and not from the cache.
-
-## <a id="running-native-client-xact__section_41564A36A1DE4EEDA8F3E00992F8D02B" class="no-quick-link"></a>Query
-
-A `Query` is obtained from a `QueryService` method, which is obtained from the cache. The `Query` interface provides methods for managing the compilation and execution of queries, and for retrieving an existing query string.
-
-You must obtain a `Query` object for each new query. The following example demonstrates the method used to obtain a new instance of `Query`:
-
-``` pre
-QueryPtr newQuery(const char * querystr); 
-```
-
-## <a id="running-native-client-xact__section_0F92AD1BDB29426BB24CD41F5A0FAB78" class="no-quick-link"></a>Region Shortcut Query Methods
-
-The `Region` interface has several shortcut query methods. All take a `query` predicate which is used in the `WHERE` clause of a standard query. See [WHERE Clause](../93-querystrings/4-where-clause.html#security) for more information. Each of the following examples also set the query response timeout to 10 seconds to allow sufficient time for the operation to succeed.
-
--   The `query` method retrieves a collection of values satisfying the query predicate. This call retrieves active portfolios, which in the sample data are the portfolios with keys `111`, `222`, and `333`:
-
-    ``` pre
-    SelectResultsPtr
-    results = regionPtr->query("status 'active' ");
-    ```
-
--   The `selectValue` method retrieves one value object. In this call, you request the portfolio with `ID ABC-1` :
-
-    ``` pre
-    SerializablePtr
-    port = region->selectValue("ID='ABC-1'");
-    ```
-
--   The `existsValue` method returns a boolean indicating if any entry exists that satisfies the predicate. This call returns false because there is no entry with the indicated type:
-
-    ``` pre
-    bool entryExists
-    = region->existsValue("'type' = 'QQQ' ");
-    ```
-
-For more information about these shortcut query methods, see the Region class description in the native client API documentation.

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb b/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb
deleted file mode 100644
index 379837c..0000000
--- a/geode-docs/nativeclient/remote-querying/95-remotequeryapi/3-query-result-sets.html.md.erb
+++ /dev/null
@@ -1,10 +0,0 @@
----
-title:  Query Result Sets
----
-
--   **SelectResults**. Executes the query on the cache server and returns the results as either a `ResultSet` or a StructSet.
--   **SelectResultsIterator**. Iterates over the items available in a `ResultSet` or `StructSet`.
--   **ResultSet**. Obtained after executing a `Query`, which is obtained from a `QueryService` that is obtained from a Cache class.
--   **StructSet**. Used when a `SELECT` statement returns more than one set of results. This is accompanied by a `Struct`, which provides the `StructSet` definition and contains its field values.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb b/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb
deleted file mode 100644
index e0aeb63..0000000
--- a/geode-docs/nativeclient/remote-querying/96-progexamples/2-query-code-examples-resultset.html.md.erb
+++ /dev/null
@@ -1,68 +0,0 @@
----
-title:  Query Code Samples Returning ResultSet
----
-
-API examples demonstrate methods for returning `ResultSet` for both built-in and user-fined data types.
-
-**Query Returns a ResultSet for a Built-In Data Type**
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-QueryPtr query = qrySvcPtr->newQuery("select distinct pkid from /portfolios");
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-
-//obtaining a handle to resultset
-ResultSetPtr rs(dynamic_cast<ResultSet*> (results.ptr()));
-if (rs == NULLPTR)
-{
-   printf ("\nResultSet is not obtained \n"); return;
-}
-//iterating through the resultset using row index.
-for (int32_t row=0; row < rs->size(); row++)
-{
-   SerializablePtr ser((*rs)[row]);
-   CacheableStringPtr str(dynamic_cast<CacheableString*> (ser.ptr()));
-   if (str != NULLPTR)
-   {
-      printf("\n string column contains - %s \n", str->asChar() );
-   }
-}
-```
-
-**Query Returns a ResultSet for a User-Defined Data Type**
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring = "select distinct * from /portfolios";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-//obtaining a handle to resultset
-ResultSetPtr rs(dynamic_cast<ResultSet*> (results.ptr()));
-if (rs == NULLPTR)
-{
-   printf ("\nResultSet is not obtained \n"); return;
-}
-//iterating through the resultset using iterators.
-SelectResultsIterator iter = rs->getIterator();
-while (iter.hasNext())
-{
-   SerializablePtr ser = iter.next();
-   PortfolioPtr port(dynamic_cast<Portfolio*> (ser.ptr()));
-   if (port != NULLPTR)
-   {
-      printf("\nPortfolio object is - %s \n", port->toString()->asChar() );
-   }
-} // end of rows
-```
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb b/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb
deleted file mode 100644
index d4c2ba3..0000000
--- a/geode-docs/nativeclient/remote-querying/96-progexamples/3-query-code-examples-structset.html.md.erb
+++ /dev/null
@@ -1,192 +0,0 @@
----
-title:  Query Code Samples Returning StructSet
----
-
-These examples return a `StructSet` for built-in and user-defined data types, `Struct` objects, and collections.
-
-## Query Returning a StructSet for a Built-In Data Type
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring =
-   "SELECT DISTINCT ID, pkid, status, getType FROM /portfolios";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-//obtaining a handle to resultset
-StructSetPtr ss(dynamic_cast<StructSet*> (results.ptr()));
-if (ss == NULLPTR)
-{
-   printf ("\nStructSet is not obtained \n");
-   return;
-}
-//iterating through the resultset using indexes.
-for ( int32_t row=0; row < ss->size(); row++)
-{
-   Struct * siptr = (Struct*) dynamic_cast<Struct*> ( ((*ss)[row]).ptr() );
-   if (siptr == NULL)
-   {
-      printf("\nstruct is empty \n");
-      continue;
- 
-    }
-    //iterate through fields now
-    for( int32_t field=0; field < siptr->length(); field++)
-    {
-       SerializablePtr fieldptr((*siptr)[field]);
-       if(fieldptr == NULLPTR )
-       {
-          printf("\nnull data received\n");
-       }
-       CacheableStringPtr
-          str(dynamic_cast<CacheableString*>(fieldptr.ptr()));
-       if (str == NULLPTR)
-       {
-          printf("\n field is of some other type \n");
-       }
-       else
-       {
-          printf("\n Data for %s is %s ", siptr->getFieldName(field), str->asChar() );
-       }
-    } //end of columns
- } // end of rows
-```
-
-## Returning Struct Objects
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring =
-   "SELECT DISTINCT derivedProjAttrbts, key: p.key FROM "
-   "/Portfolios.entries p, (SELECT DISTINCT x.ID, myPos.secId FROM "
-   "/Portfolios x, x.positions.values AS myPos) derivedProjAttrbts WHERE "
-   "p.value.ID = derivedProjAttrbts.ID AND derivedProjAttrbts.secId = 'IBM'";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-//specify 10 seconds for the query timeout period
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR)
-{
-   printf( "\nNo results returned from the server");
-}
-//obtaining a handle to resultset
-StructSetPtr ss(dynamic_cast<StructSet*> (results.ptr()));
-if (ss == NULLPTR)
-{
-   printf ("\nStructSet is not obtained \n");
-   return;
-}
-//iterating through the resultset using indexes.
-for (int32_t row=0; row < ss->size(); row++)
-{
-   Struct * siptr = (Struct*) dynamic_cast<Struct*> ( ((*ss)[row]).ptr() );
-   if (siptr == NULL) { printf("\nstruct is empty \n"); }
-   //iterate through fields now
-   for (int32_t field=0; field < siptr->length(); field++) {
-       SerializablePtr fieldptr((*siptr)[field]);
-       if (fieldptr == NULLPTR )
-       {
-          printf("\nnull data received\n");
-       }
-       CacheableStringPtr
-          str(dynamic_cast<CacheableString*>(fieldptr.ptr()));
-       if (str != NULLPTR) {
-          printf("\n Data for %s is %s ", siptr->getFieldName(field),
-              str->asChar() );
-       }
-       else
-       {
-          StructPtr simpl(dynamic_cast<Struct*> (fieldptr.ptr()));
-          if (simpl == NULLPTR)
-          {
-              printf("\n field is of some other type \n"); continue;
-          }
-          printf( "\n struct received %s \n", siptr->getFieldName(field) );
-          for (int32_t inner_field=0; inner_field < simpl->length(); inner_field++)
-          {
-              SerializablePtr innerfieldptr((*simpl)[inner_field]);
-              if (innerfieldptr == NULLPTR)
-              {
-                  printf("\nfield of struct is NULL\n");
-              }
-              CacheableStringPtr str(dynamic_cast<CacheableString*>
-                 (innerfieldptr.ptr()));
-              if (str != NULLPTR)
-              {
-                  printf("\n Data for %s is %s ",
-                      simpl->getFieldName(inner_field),str->asChar() );
-              }
-              else
-              {
-                  printf("\n some other object type inside struct\n");
-              }
-           }
-        }
-    } //end of columns
- }//end of rows
-```
-
-## Returning Collections
-
-``` pre
-QueryServicePtr qrySvcPtr = cachePtr->getQueryService("examplePool");
-const char * querystring = "select distinct ID, names from /portfolios";
-QueryPtr query = qrySvcPtr->newQuery(querystring);
-SelectResultsPtr results = query->execute(10);
-if (results == NULLPTR) {
-   printf( "\nNo results returned from the server");
-}
-//obtain a handle to resultset
-StructSetPtr ss(dynamic_cast<StructSet*> (results.ptr()));
-if (ss == NULLPTR) {
-   printf ("\nStructSet is not obtained \n");
-   return;
-}
-//iterate through the resultset using indexes.
-for (int32_t row=0; row < ss->size(); row++)
-{
-   Struct * siptr = dynamic_cast<Struct*> ( ((*ss)[row]).ptr() );
-   if (siptr == NULL)
-   {
-      printf("\nstruct is empty \n");
-      continue;
-    }
-    //iterate through fields now
-    for (int32_t field=0; field < siptr->length(); field++)
-    {
-       SerializablePtr fieldptr((*siptr)[field]);
-       if (fieldptr == NULLPTR)
-       {
-          printf("\nnull data received\n");
-       }
-       CacheableStringPtr
-          str(dynamic_cast<CacheableString*>(fieldptr.ptr()));
-       if (str != NULLPTR)
-       {
-          printf("\n Data for %s is %s ", siptr->getFieldName(field),
-              str->asChar() );
-       }
-       else
-       {
-          CacheableObjectArrayPtr
-              coa(dynamic_cast<CacheableObjectArray*>(fieldptr.ptr()));
-         if (coa == NULLPTR)
-          {
-              printf("\n field is of some other type\n"); continue;
-          }
-          printf( "\n objectArray received %s \n", 
-                 siptr->getFieldName(field) );
-          for (unsigned arrlen=0; arrlen < (uint32_t)coa->length(); arrlen++)
-          {
-              printf("\n Data for %s is %s ",siptr->getFieldName(field),
-                  coa->operator[](arrlen)->toString()->asChar());
-          }
-       }
-    } //end of columns
- }//end of rows
-```
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb b/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb
deleted file mode 100644
index 1aebffc..0000000
--- a/geode-docs/nativeclient/remote-querying/remote-querying.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Remote Querying
----
-
-*Remote Querying* documents remote querying from the native client to the Geode cache server. Using examples and procedures, it describes how to use the APIs to run queries against cached data; work with query strings in the native client; create and manage queries; and create indexes.
-
--   **[Remote Querying Basics](../../nativeclient/remote-querying/91-quickintro/1-quickintro-overview.html)**
-
-    Use the Geode native client query API to query your cached data stored on a Geode cache server. The query is evaluated and executed on the cache server, and the results are returned to the native client.
-
--   **[Using Query Strings in the Native Client](../../nativeclient/remote-querying/93-querystrings/1-querystring-overview.html)**
-
-    To use a query string in a native client, specify the string as a parameter in a `QueryService::newQuery` method, then execute the query using `Query::execute`, passing in the required parameters.
-
--   **[Accessing Cached Data](../../nativeclient/remote-querying/92-querylanguage/2-accessingdata.html)**
-
-    Accessing your cached data through the querying service is similar to accessing database contents through SQL queries. How you specify your regions and region contents is particular to the native client.
-
--   **[Query Language Elements](../../nativeclient/remote-querying/93-querystrings/8-query-language-elements.html)**
-
-    This section discusses various aspects and tools of the native client query engine.
-
--   **[Remote Query API](../../nativeclient/remote-querying/95-remotequeryapi/1-remote-query-api-overview.html)**
-
-    You use the native client querying API to access all the querying functionality discussed in the previous sections.
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb b/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb
deleted file mode 100644
index 3587c92..0000000
--- a/geode-docs/nativeclient/security/LDAPserverauth.html.md.erb
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title:  Using an LDAP Server for Client Authentication
----
-
-An LDAP server can be used by a Geode cache server using the sample LDAP implementation provided in Geode server product.
-
-See the [Security](../../managing/security/chapter_overview.html#security) to verify authentication credentials for native clients attempting to connect to the Geode servers and sending user name and passwords using the sample UserPassword scheme.
-
-**Note:**
-The user name and password with this sample implementation is sent out in plaintext. For better security, either turn on credential encryption using Diffie-Hellman key exchange, or use a scheme like PKCS.
-
-When a client initiates a connection to a cache server, the client submits its credentials to the server and the server submits those credentials to the LDAP server. To be authenticated, the credentials for the client need to match one of the valid entries in the LDAP server. The credentials can consist of the entry name and the corresponding password. If the submitted credentials result in a connection to the LDAP server because the credentials match the appropriate LDAP entries, then the client is authenticated and granted a connection to the server. If the server fails to connect to the LDAP server with the supplied credentials then an `AuthenticationFailedException` is sent to the client and its connection with the cache server is closed.
-
-**Configuration Settings**
-
-In the `gfcpp.properties` file for the client, specify the `UserPasswordAuthInit` callback, the user name, and the password, like this:
-
-``` pre
-security-client-auth-library=securityImpl
-security-client-auth-factory=createUserPasswordAuthInitInstance
-security-username=<username>
-security-password=<password>
-```
-
-For server side settings and LDAP server configuration, see [Security](../../managing/security/chapter_overview.html#security).
-
-

http://git-wip-us.apache.org/repos/asf/geode-native/blob/de0559be/geode-docs/nativeclient/security/PKCS.html.md.erb
----------------------------------------------------------------------
diff --git a/geode-docs/nativeclient/security/PKCS.html.md.erb b/geode-docs/nativeclient/security/PKCS.html.md.erb
deleted file mode 100644
index 970ca54..0000000
--- a/geode-docs/nativeclient/security/PKCS.html.md.erb
+++ /dev/null
@@ -1,28 +0,0 @@
----
-title:  Using PKCS for Encrypted Authentication
----
-
-This section discusses the concepts and configurations for the sample UserPassword and PKCS implementations. Descriptions of their interfaces, classes, and methods are available in the API.
-
-**Note:**
-Native client samples are provided in source form only in the "templates" directory within the product directory.
-
-With PKCS, clients send encrypted authentication credentials in the form of standard PKCS signatures to a Geode cache server when they connect to the server. The credentials consist of the alias name and digital signature created using the private key that is retrieved from the provided keystore. The server uses a corresponding public key to decrypt the credentials. If decryption is successful then the client is authenticated and it connects to the cache server. For unsuccessful decryption, the server sends an `AuthenticationFailedException` to the client, and the client connection to the cache server is closed.
-
-When clients require authentication to connect to a cache server, they use the `PKCSAuthInit` class implementing the `AuthInitialize` interface to obtain their credentials. For the PKCS sample provided by Geode, the credentials consist of an alias and an encrypted byte array. The private key is obtained from the PKCS\#12 keystore file. To accomplish this,` PKCSAuthInit` gets the alias retrieved from the `security-alias `property, and the keystore path from the `security-keystorepath` property. `PKCSAuthInit` also gets the password for the password-protected keystore file from the `security-keystorepass` property so the keystore can be opened.
-
-**Building the securityImpl Library**
-
-To use the PKCS sample implementation, you need to build OpenSSL and then build the securityImpl library. In the `gfcpp.properties `file for the client, specify the `PKCSAuthInit` callback, the keystore path, the security alias, and the keystore password, like this:
-
-``` pre
-security-client-auth-library=securityImpl
-security-client-auth-factory=createPKCSAuthInitInstance
-security-keystorepath=<PKCS#12 keystore path>
-security-alias=<alias>
-security-keystorepass=<keystore password>
-```
-
-For server side settings, see the description of PKCS sample in [Security](../../managing/security/chapter_overview.html#security).
-
-


Mime
View raw message