Merge branch 'release/3.0.0-RC3'
diff --git a/extensions/entitystore-sql/build.gradle b/extensions/entitystore-sqlkv/build.gradle
similarity index 93%
rename from extensions/entitystore-sql/build.gradle
rename to extensions/entitystore-sqlkv/build.gradle
index 223e85b..b13b95a 100644
--- a/extensions/entitystore-sql/build.gradle
+++ b/extensions/entitystore-sqlkv/build.gradle
@@ -20,9 +20,9 @@
 
 apply plugin: 'polygene-extension'
 
-description = "Apache Polygene™ SQL EntityStore Extension"
+description = "Apache Polygene™ SQL Key/Value EntityStore Extension"
 
-jar { manifest { name = "Apache Polygene™ Extension - EntityStore - SQL" } }
+jar { manifest { name = "Apache Polygene™ Extension - EntityStore - SQL Key/Value" } }
 
 dependencies {
   api polygene.core.bootstrap
diff --git a/extensions/entitystore-sql/dev-status.xml b/extensions/entitystore-sqlkv/dev-status.xml
similarity index 100%
rename from extensions/entitystore-sql/dev-status.xml
rename to extensions/entitystore-sqlkv/dev-status.xml
diff --git a/extensions/entitystore-sql/src/docs/es-sql.txt b/extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt
similarity index 78%
rename from extensions/entitystore-sql/src/docs/es-sql.txt
rename to extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt
index e0328a1..9e1cde5 100644
--- a/extensions/entitystore-sql/src/docs/es-sql.txt
+++ b/extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt
@@ -17,24 +17,21 @@
  * under the License.
 ///////////////////////////////////////////////////////////////
 
-[[extension-es-sql, SQL EntityStore]]
-= SQL EntityStore =
+[[extension-es-sqlkv, SQL Key/Value EntityStore]]
+= SQL Key/Value EntityStore =
 
 [devstatus]
 --------------
-source=extensions/entitystore-sql/dev-status.xml
+source=extensions/entitystore-sqlkv/dev-status.xml
 --------------
 
-EntityStore service backed by a SQL database.
+EntityStore service backed by a SQL database with a simple schema where entities are stored in a key/value fashion.
 
 This extension fully leverage the <<library-sql>> meaning that you must use it to assemble your DataSource and that you
 get <<library-circuitbreaker,Circuit Breaker>> and <<library-jmx, JMX>> integration for free.
 
 The database schema is managed using <<library-sql-liquibase>>.
 
-TIP: See the <<sample-sql-support>> that demonstrate combined use of <<library-sql>>, <<extension-es-sql>> and
-<<extension-indexing-sql>>.
-
 The following SQL databases are supported:
 
 - http://www.postgresql.org/[PostgreSQL]
@@ -54,7 +51,7 @@
 
 [snippet,java]
 ----
-source=extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SQLMapEntityStoreConfiguration.java
+source=extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/SQLMapEntityStoreConfiguration.java
 tag=config
 ----
 
@@ -70,7 +67,7 @@
 
 [snippet,java]
 ----
-source=extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
+source=extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
 tag=assembly
 ----
 
@@ -90,7 +87,7 @@
 
 [snippet,java]
 ----
-source=extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
+source=extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
 tag=assembly
 ----
 
@@ -113,7 +110,7 @@
 
 [snippet,java]
 ----
-source=extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
+source=extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
 tag=assembly
 ----
 
@@ -133,7 +130,7 @@
 
 [snippet,java]
 ----
-source=extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
+source=extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
 tag=assembly
 ----
 
@@ -154,7 +151,7 @@
 
 [snippet,java]
 ----
-source=extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
+source=extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
 tag=assembly
 ----
 
@@ -164,4 +161,3 @@
 ----
 include::../test/resources/derby-datasource.properties[]
 ----
-
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreConfiguration.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreConfiguration.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreConfiguration.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreConfiguration.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreMixin.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreMixin.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreMixin.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreMixin.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreService.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreService.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreService.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/SQLEntityStoreService.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
similarity index 98%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
index 0f86490..24e8ec5 100644
--- a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
+++ b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/AbstractSQLEntityStoreAssembler.java
@@ -36,7 +36,7 @@
 public abstract class AbstractSQLEntityStoreAssembler<AssemblerType>
     extends Assemblers.VisibilityIdentityConfig<AssemblerType>
 {
-    public static final Identity DEFAULT_ENTITYSTORE_IDENTITY = StringIdentity.identityOf( "entitystore-sql" );
+    public static final Identity DEFAULT_ENTITYSTORE_IDENTITY = StringIdentity.identityOf( "entitystore-sqlkv" );
     private static final String DEFAULT_CHANGELOG_PATH = "org/apache/polygene/entitystore/sql/changelog.xml";
 
     private String changelogPath = DEFAULT_CHANGELOG_PATH;
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/DerbySQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/DerbySQLEntityStoreAssembler.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/DerbySQLEntityStoreAssembler.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/DerbySQLEntityStoreAssembler.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/H2SQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/H2SQLEntityStoreAssembler.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/H2SQLEntityStoreAssembler.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/H2SQLEntityStoreAssembler.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/MySQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/MySQLEntityStoreAssembler.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/MySQLEntityStoreAssembler.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/MySQLEntityStoreAssembler.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/PostgreSQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/PostgreSQLEntityStoreAssembler.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/PostgreSQLEntityStoreAssembler.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/PostgreSQLEntityStoreAssembler.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLEntityStoreAssembler.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLEntityStoreAssembler.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLEntityStoreAssembler.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLiteEntityStoreAssembler.java b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLiteEntityStoreAssembler.java
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLiteEntityStoreAssembler.java
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/SQLiteEntityStoreAssembler.java
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/package.html b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/package.html
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/assembly/package.html
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/assembly/package.html
diff --git a/extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/package.html b/extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/package.html
similarity index 100%
rename from extensions/entitystore-sql/src/main/java/org/apache/polygene/entitystore/sql/package.html
rename to extensions/entitystore-sqlkv/src/main/java/org/apache/polygene/entitystore/sql/package.html
diff --git a/extensions/entitystore-sql/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml b/extensions/entitystore-sqlkv/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml
similarity index 100%
rename from extensions/entitystore-sql/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml
rename to extensions/entitystore-sqlkv/src/main/resources/org/apache/polygene/entitystore/sql/changelog.xml
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTest.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/DerbySQLEntityStoreTestSuite.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTest.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/H2SQLEntityStoreTestSuite.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTest.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/MySQLEntityStoreTestSuite.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTest.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/PostgreSQLEntityStoreTestSuite.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTest.java
diff --git a/extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java b/extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
similarity index 100%
rename from extensions/entitystore-sql/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
rename to extensions/entitystore-sqlkv/src/test/java/org/apache/polygene/entitystore/sql/SQLiteEntityStoreTestSuite.java
diff --git a/extensions/entitystore-sql/src/test/resources/derby-datasource.properties b/extensions/entitystore-sqlkv/src/test/resources/derby-datasource.properties
similarity index 100%
rename from extensions/entitystore-sql/src/test/resources/derby-datasource.properties
rename to extensions/entitystore-sqlkv/src/test/resources/derby-datasource.properties
diff --git a/extensions/entitystore-sql/src/test/resources/h2-datasource.properties b/extensions/entitystore-sqlkv/src/test/resources/h2-datasource.properties
similarity index 100%
rename from extensions/entitystore-sql/src/test/resources/h2-datasource.properties
rename to extensions/entitystore-sqlkv/src/test/resources/h2-datasource.properties
diff --git a/extensions/entitystore-sql/src/test/resources/logback.xml b/extensions/entitystore-sqlkv/src/test/resources/logback.xml
similarity index 100%
rename from extensions/entitystore-sql/src/test/resources/logback.xml
rename to extensions/entitystore-sqlkv/src/test/resources/logback.xml
diff --git a/extensions/entitystore-sql/src/test/resources/mysql-datasource.properties b/extensions/entitystore-sqlkv/src/test/resources/mysql-datasource.properties
similarity index 100%
rename from extensions/entitystore-sql/src/test/resources/mysql-datasource.properties
rename to extensions/entitystore-sqlkv/src/test/resources/mysql-datasource.properties
diff --git a/extensions/entitystore-sql/src/test/resources/postgresql-datasource.properties b/extensions/entitystore-sqlkv/src/test/resources/postgresql-datasource.properties
similarity index 100%
rename from extensions/entitystore-sql/src/test/resources/postgresql-datasource.properties
rename to extensions/entitystore-sqlkv/src/test/resources/postgresql-datasource.properties
diff --git a/extensions/entitystore-sql/src/test/resources/sqlite-datasource.properties b/extensions/entitystore-sqlkv/src/test/resources/sqlite-datasource.properties
similarity index 100%
rename from extensions/entitystore-sql/src/test/resources/sqlite-datasource.properties
rename to extensions/entitystore-sqlkv/src/test/resources/sqlite-datasource.properties
diff --git a/extensions/indexing-sql/src/docs/index-sql.txt b/extensions/indexing-sql/src/docs/index-sql.txt
index 7de12dd..1bb1b3c 100644
--- a/extensions/indexing-sql/src/docs/index-sql.txt
+++ b/extensions/indexing-sql/src/docs/index-sql.txt
@@ -28,9 +28,6 @@
 This extension fully leverage the <<library-sql>> meaning that you must use it to assemble your DataSource and that you
 get <<library-circuitbreaker,Circuit Breaker>> and <<library-jmx, JMX>> integration for free.
 
-TIP: See the <<sample-sql-support>> that demonstrate combined use of <<library-sql>>, <<extension-es-sql>> and
-<<extension-indexing-sql>>.
-
 The following SQL databases are supported:
 
 - http://www.postgresql.org/[PostgreSQL]
diff --git a/libraries/sql-generator/dev-status.xml b/libraries/sql-generator/dev-status.xml
index f279e24..d02e6f0 100644
--- a/libraries/sql-generator/dev-status.xml
+++ b/libraries/sql-generator/dev-status.xml
@@ -24,13 +24,13 @@
         http://polygene.apache.org/schemas/2008/dev-status/1/dev-status.xsd">
   <status>
     <!--none,early,beta,stable,mature-->
-    <codebase>stable</codebase>
+    <codebase>none</codebase>
 
     <!-- none, brief, good, complete -->
-    <documentation>brief</documentation>
+    <documentation>none</documentation>
 
     <!-- none, some, good, complete -->
-    <unittests>good</unittests>
+    <unittests>none</unittests>
   </status>
   <licenses>
     <license>ALv2</license>
diff --git a/libraries/sql/src/docs/sql.txt b/libraries/sql/src/docs/sql.txt
index 1021c6a..08f9e75 100644
--- a/libraries/sql/src/docs/sql.txt
+++ b/libraries/sql/src/docs/sql.txt
@@ -31,9 +31,6 @@
 The center piece is the DataSource support that comes with
 <<library-circuitbreaker>> and <<library-jmx>> support.
 
-TIP: See the <<sample-sql-support>> that demonstrate combined use of <<library-sql>>, <<extension-es-sql>> and
-<<extension-indexing-sql>>.
-
 Moreover, supplementary libraries helps dealing with different connection pool implementations and schema migrations.
 None of theses libraries depends on an actual JDBC driver, you are free to use the one that suits your needs.
 
diff --git a/manual/src/docs/userguide/extensions.txt b/manual/src/docs/userguide/extensions.txt
index 44bfd3f..928b90e 100644
--- a/manual/src/docs/userguide/extensions.txt
+++ b/manual/src/docs/userguide/extensions.txt
@@ -105,7 +105,7 @@
 
 :leveloffset: 2
 
-include::../../../../extensions/entitystore-sql/src/docs/es-sql.txt[]
+include::../../../../extensions/entitystore-sqlkv/src/docs/es-sqlkv.txt[]
 
 :leveloffset: 2
 
diff --git a/manual/src/docs/website/samples.txt b/manual/src/docs/website/samples.txt
index 191b00f..18e672a 100644
--- a/manual/src/docs/website/samples.txt
+++ b/manual/src/docs/website/samples.txt
@@ -60,37 +60,6 @@
 //
 // https://github.com/apache/polygene-java/tree/develop/samples/scala[Browse Source]
 
-[[sample-sql-support,SQL Support Sample]]
-== SQL Support Sample ==
-
-NOTE: This sample use PostgreSQL and drop all of its data once run in order to be runnable multiple times.
-
-Sample of how to fully use Polygene™ SQL support : <<library-sql>>, <<extension-es-sql>> and <<extension-indexing-sql>>.
-
-https://github.com/apache/polygene-java/tree/develop/samples/sql-support[Browse Source]
-
-Here are the steps needed to setup the database using the `psql` utility command:
-
-[source,bash]
-----
-user@host $ psql postgres
-postgres=# CREATE USER jdbc_test_login WITH PASSWORD 'password';
-CREATE ROLE
-postgres=# CREATE DATABASE jdbc_test_db;
-CREATE DATABASE
-postgres=# GRANT ALL PRIVILEGES ON DATABASE jdbc_test_db TO jdbc_test_login;
-GRANT
-postgres=# \q
-user@host $  psql -d jdbc_test_db</strong>
-postgres=# CREATE EXTENSION ltree;
-CREATE EXTENSION
-postgres=# \q
-user@host $
-----
-
-From the sources you can run the `runSqlSupportSample` Gradle task to run the example.
-See <<build-system>> if you need some guidance.
-
 [[sample-swing,Swing Bindings Sample]]
 == Swing Bindings Sample ==
 
diff --git a/samples/sql-support/build.gradle b/samples/sql-support/build.gradle
deleted file mode 100644
index 1be908e..0000000
--- a/samples/sql-support/build.gradle
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- *  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.
- *
- *
- */
-import org.apache.polygene.gradle.TaskGroups
-
-apply plugin: 'polygene-sample'
-
-description = "SQL Support Sample."
-
-jar { manifest { name = "Apache Polygene™ Sample - SQL Support" } }
-
-dependencies {
-
-  implementation polygene.core.bootstrap
-  implementation polygene.library( 'sql-dbcp' )
-  implementation polygene.extension( 'entitystore-preferences' )
-  implementation polygene.extension( 'entitystore-sql' )
-  implementation polygene.extension( 'indexing-sql' )
-
-  runtimeOnly polygene.core.runtime
-  runtimeOnly libraries.postgres
-  runtimeOnly libraries.logback
-}
-
-task( runSqlSupportSample, dependsOn: 'classes', type: JavaExec ) {
-  group = TaskGroups.SAMPLES
-  description = "Runs $project.name sample."
-  main = 'org.apache.polygene.sample.sqlsupport.Main'
-  classpath = sourceSets.main.runtimeClasspath
-}
diff --git a/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/AppAssembler.java b/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/AppAssembler.java
deleted file mode 100644
index 716c954..0000000
--- a/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/AppAssembler.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- *  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.
- *
- *
- */
-package org.apache.polygene.sample.sqlsupport;
-
-import org.apache.polygene.api.common.Visibility;
-import org.apache.polygene.bootstrap.ApplicationAssembler;
-import org.apache.polygene.bootstrap.ApplicationAssembly;
-import org.apache.polygene.bootstrap.ApplicationAssemblyFactory;
-import org.apache.polygene.bootstrap.LayerAssembly;
-import org.apache.polygene.bootstrap.ModuleAssembly;
-import org.apache.polygene.entitystore.memory.MemoryEntityStoreService;
-import org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler;
-import org.apache.polygene.index.sql.assembly.PostgreSQLIndexQueryAssembler;
-import org.apache.polygene.library.sql.assembly.DataSourceAssembler;
-import org.apache.polygene.library.sql.datasource.DataSources;
-import org.apache.polygene.library.sql.dbcp.DBCPDataSourceServiceAssembler;
-
-/**
- * Assemble the Application.
- *
- * Use SQL EntityStore and SQL Index/Query for Persistence using PostgreSQL.
- * EntityStore and Index/Query use different DataSource in order to allow splitting the two in two servers/databases.
- */
-public class AppAssembler
-    implements ApplicationAssembler
-{
-
-    @Override
-    public ApplicationAssembly assemble( ApplicationAssemblyFactory applicationFactory )
-    {
-        ApplicationAssembly appAss = applicationFactory.newApplicationAssembly();
-        appAss.setName( "SQL Support Sample" );
-
-        // Config
-        LayerAssembly configLayer = appAss.layer( "config" );
-        ModuleAssembly configModule = configLayer.module( "config" );
-        {
-            configModule.services( MemoryEntityStoreService.class ).
-                visibleIn( Visibility.module );
-            // Use a PreferenceEntityStore instead if you want the configuration to be persistent
-            // new PreferenceEntityStoreAssembler( Visibility.module ).assemble( configModule );
-        }
-
-        // Infra
-        LayerAssembly infraLayer = appAss.layer( "infra" );
-        ModuleAssembly persistenceModule = infraLayer.module( "persistence" );
-        {
-            // SQL DataSource Service
-            String dataSourceServiceIdentity = "postgresql-datasource-service";
-            new DBCPDataSourceServiceAssembler().
-                identifiedBy( dataSourceServiceIdentity ).
-                visibleIn( Visibility.module ).
-                withConfig( configModule, Visibility.application ).
-                assemble( persistenceModule );
-
-            // SQL EntityStore DataSource and Service
-            new DataSourceAssembler().
-                withDataSourceServiceIdentity( dataSourceServiceIdentity ).
-                identifiedBy( "postgresql-es-datasource" ).
-                visibleIn( Visibility.module ).
-                withCircuitBreaker( DataSources.newDataSourceCircuitBreaker() ).assemble( persistenceModule );
-            new PostgreSQLEntityStoreAssembler().
-                visibleIn( Visibility.application ).
-                withConfig( configModule, Visibility.application ).
-                assemble( persistenceModule );
-
-            // SQL Index/Query DataSource and Service
-            new DataSourceAssembler().
-                withDataSourceServiceIdentity( dataSourceServiceIdentity ).
-                identifiedBy( "postgresql-index-datasource" ).
-                visibleIn( Visibility.module ).
-                withCircuitBreaker().
-                assemble( persistenceModule );
-            new PostgreSQLIndexQueryAssembler().
-                visibleIn( Visibility.application ).
-                withConfig( configModule, Visibility.application ).
-                assemble( persistenceModule );
-        }
-
-        // App
-        LayerAssembly appLayer = appAss.layer( "app" );
-        ModuleAssembly domainModule = appLayer.module( "domain" );
-        {
-            domainModule.entities( PretextEntity.class );
-        }
-
-        // Uses
-        infraLayer.uses( configLayer );
-        appLayer.uses( infraLayer );
-
-        return appAss;
-    }
-
-}
diff --git a/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/Main.java b/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/Main.java
deleted file mode 100644
index 5a96f31..0000000
--- a/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/Main.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- *  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.
- *
- *
- */
-package org.apache.polygene.sample.sqlsupport;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-import javax.sql.DataSource;
-import org.apache.polygene.api.entity.EntityBuilder;
-import org.apache.polygene.api.query.Query;
-import org.apache.polygene.api.query.QueryBuilder;
-import org.apache.polygene.api.structure.Application;
-import org.apache.polygene.api.structure.Module;
-import org.apache.polygene.api.unitofwork.UnitOfWork;
-import org.apache.polygene.bootstrap.Energy4Java;
-import org.apache.polygene.entitystore.sql.assembly.PostgreSQLEntityStoreAssembler;
-import org.apache.polygene.index.sql.assembly.PostgreSQLIndexQueryAssembler;
-import org.apache.polygene.library.sql.common.SQLConfiguration;
-import org.apache.polygene.library.sql.common.SQLUtil;
-
-import static org.apache.polygene.api.query.QueryExpressions.eq;
-import static org.apache.polygene.api.query.QueryExpressions.templateFor;
-
-/**
- * SQL Support Sample Main Class.
- * <p><strong>psql postgres</strong></p>
- * <p>CREATE USER jdbc_test_login WITH PASSWORD 'password';</p>
- * <p>CREATE DATABASE jdbc_test_db;</p>
- * <p>GRANT ALL PRIVILEGES ON DATABASE jdbc_test_db TO jdbc_test_login;</p>
- * <p><strong>psql -d jdbc_test_db</strong></p>
- * <p>CREATE EXTENSION ltree;</p>
- */
-public class Main
-{
-
-    public static void main( String[] args )
-            throws Exception
-    {
-        final Application application = new Energy4Java().newApplication( new AppAssembler() );
-        application.activate();
-        Runtime.getRuntime().addShutdownHook( new Thread( new Runnable()
-        {
-            @Override
-            @SuppressWarnings( "CallToThreadDumpStack" )
-            public void run()
-            {
-                try {
-                    application.passivate();
-                } catch ( Exception ex ) {
-                    System.err.println( "Unable to passivate Polygene application!" );
-                    ex.printStackTrace();
-                }
-            }
-
-        } ) );
-        Module domainModule = application.findModule( "app", "domain" );
-
-        int exitStatus = 0;
-
-        try {
-
-            UnitOfWork uow = domainModule.unitOfWorkFactory().newUnitOfWork();
-            EntityBuilder<PretextEntity> builder = uow.newEntityBuilder( PretextEntity.class );
-            PretextEntity pretext = builder.instance();
-            pretext.reason().set( "Testing purpose" );
-            builder.newInstance();
-            uow.complete();
-
-            uow = domainModule.unitOfWorkFactory().newUnitOfWork();
-            QueryBuilder<PretextEntity> queryBuilder = domainModule.newQueryBuilder( PretextEntity.class );
-            queryBuilder = queryBuilder.where( eq( templateFor( PretextEntity.class ).reason(), "Testing purpose" ) );
-            Query<PretextEntity> query = uow.newQuery( queryBuilder );
-            pretext = query.find();
-            if ( pretext == null ) {
-                System.err.println( "ERROR: Unable to find pretext!" );
-                exitStatus = -1;
-            } else {
-                System.out.println( "SUCCESS: Found Pretext with reason: " + pretext.reason().get() );
-            }
-            uow.discard();
-
-        } finally {
-            deleteData( application.findModule( "infra", "persistence" ) );
-        }
-
-        System.exit( exitStatus );
-    }
-
-    /**
-     * Completely delete data so the sample can be run multiple times.
-     */
-    private static void deleteData( Module persistenceModule )
-            throws SQLException
-    {
-        // EntityStore Data
-        {
-            UnitOfWork uow = persistenceModule.unitOfWorkFactory().newUnitOfWork();
-            try {
-                SQLConfiguration config = uow.get( SQLConfiguration.class, PostgreSQLEntityStoreAssembler.DEFAULT_ENTITYSTORE_IDENTITY );
-                Connection connection = persistenceModule.findService( DataSource.class ).get().getConnection();
-                connection.setAutoCommit( false );
-                connection.setReadOnly( false );
-                String schemaName = config.schemaName().get();
-
-                Statement stmt = null;
-                try {
-                    stmt = connection.createStatement();
-                    stmt.execute( "DROP SCHEMA " + schemaName + " CASCADE" );
-                    connection.commit();
-                } finally {
-                    SQLUtil.closeQuietly( stmt );
-                }
-            } finally {
-                uow.discard();
-            }
-        }
-
-        // Indexing Data
-        {
-            UnitOfWork uow = persistenceModule.unitOfWorkFactory().newUnitOfWork();
-            try {
-                SQLConfiguration config = uow.get( SQLConfiguration.class, PostgreSQLIndexQueryAssembler.DEFAULT_IDENTITY  );
-                Connection connection = persistenceModule.findService( DataSource.class ).get().getConnection();
-                connection.setAutoCommit( false );
-                connection.setReadOnly( false );
-                String schemaName = config.schemaName().get();
-
-                Statement stmt = null;
-                try {
-                    stmt = connection.createStatement();
-                    stmt.execute( "DROP SCHEMA " + schemaName + " CASCADE" );
-                    connection.commit();
-                } finally {
-                    SQLUtil.closeQuietly( stmt );
-                    SQLUtil.closeQuietly( connection );
-                }
-            } finally {
-                uow.discard();
-            }
-        }
-    }
-
-}
diff --git a/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/PretextEntity.java b/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/PretextEntity.java
deleted file mode 100644
index f487a57..0000000
--- a/samples/sql-support/src/main/java/org/apache/polygene/sample/sqlsupport/PretextEntity.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- *  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.
- *
- *
- */
-package org.apache.polygene.sample.sqlsupport;
-
-import org.apache.polygene.api.property.Property;
-
-public interface PretextEntity
-{
-
-    Property<String> reason();
-
-}
diff --git a/samples/sql-support/src/main/resources/entitystore-postgresql.properties b/samples/sql-support/src/main/resources/entitystore-postgresql.properties
deleted file mode 100644
index 48cd452..0000000
--- a/samples/sql-support/src/main/resources/entitystore-postgresql.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-#  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.
-#
-#
-#
-
-
-schemaName=sql_sample_entitystore
diff --git a/samples/sql-support/src/main/resources/indexing-sql.properties b/samples/sql-support/src/main/resources/indexing-sql.properties
deleted file mode 100644
index 700b84f..0000000
--- a/samples/sql-support/src/main/resources/indexing-sql.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-#  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.
-#
-#
-#
-
-
-schemaName=sql_sample_indexing
diff --git a/samples/sql-support/src/main/resources/postgresql-es-datasource.properties b/samples/sql-support/src/main/resources/postgresql-es-datasource.properties
deleted file mode 100644
index ea16c45..0000000
--- a/samples/sql-support/src/main/resources/postgresql-es-datasource.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-#  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.
-#
-#
-#
-
-enabled=true
-url=jdbc:postgresql://localhost:5432/jdbc_test_db
-driver=org.postgresql.Driver
-username=jdbc_test_login
-password=password
diff --git a/samples/sql-support/src/main/resources/postgresql-index-datasource.properties b/samples/sql-support/src/main/resources/postgresql-index-datasource.properties
deleted file mode 100644
index ea16c45..0000000
--- a/samples/sql-support/src/main/resources/postgresql-index-datasource.properties
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-#  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.
-#
-#
-#
-
-enabled=true
-url=jdbc:postgresql://localhost:5432/jdbc_test_db
-driver=org.postgresql.Driver
-username=jdbc_test_login
-password=password
diff --git a/settings.gradle b/settings.gradle
index 3c44077..7cb671f 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -67,7 +67,7 @@
         'extensions:entitystore-preferences',
         'extensions:entitystore-redis',
         'extensions:entitystore-riak',
-        'extensions:entitystore-sql',
+        'extensions:entitystore-sqlkv',
         'extensions:indexing-elasticsearch',
         'extensions:indexing-rdf',
         'extensions:indexing-solr',
@@ -96,7 +96,6 @@
         'samples:dci',
         'samples:forum',
         'samples:rental',
-        'samples:sql-support',
         'samples:swing'
 
 include 'internals:testsupport-internal'
diff --git a/tests/performance/build.gradle b/tests/performance/build.gradle
index 1ff9b45..c9da41d 100644
--- a/tests/performance/build.gradle
+++ b/tests/performance/build.gradle
@@ -34,7 +34,7 @@
   perfImplementation polygene.library( 'sql-dbcp' )
   perfImplementation polygene.extension( 'entitystore-memory' )
   perfImplementation polygene.extension( 'entitystore-jdbm' )
-  perfImplementation polygene.extension( 'entitystore-sql' )
+  perfImplementation polygene.extension( 'entitystore-sqlkv' )
   perfImplementation polygene.extension( 'cache-ehcache' )
   perfImplementation polygene.extension( 'indexing-rdf' )
   perfImplementation libraries.derby