You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2016/06/01 17:40:17 UTC

[01/10] cassandra git commit: cqlsh: Fix tab completion for case-sensitive identifiers

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 43e9d2936 -> b8f5c1fce
  refs/heads/cassandra-3.0 f99f8a8c8 -> 6932bbd90
  refs/heads/cassandra-3.7 01847ac51 -> c7e086d61
  refs/heads/trunk 274a8e4ff -> 49a2da9b7


cqlsh: Fix tab completion for case-sensitive identifiers

Patch by Mahdi Mohammadi; reviewed by Tyler Hobbs for CASSANDRA-11664


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8f5c1fc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8f5c1fc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8f5c1fc

Branch: refs/heads/cassandra-2.2
Commit: b8f5c1fcecf30e096b4a36904fdc12550910c854
Parents: 43e9d29
Author: Mahdi Mohammadi <ma...@gmail.com>
Authored: Tue May 31 11:58:06 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:38:49 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ffd5b31..c97293d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.7
+ * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
  * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
  * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
  * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 81e13c9..897ee16 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -90,6 +90,12 @@ class Cql3ParsingRuleSet(CqlParsingRuleSet):
             return str(value)
         return "'%s'" % value.replace("'", "''")
 
+    @classmethod
+    def escape_name(cls, name):
+        if name is None:
+            return 'NULL'
+        return "'%s'" % name.replace("'", "''")
+
     @staticmethod
     def dequote_name(name):
         name = name.strip()


[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.7

Posted by ty...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.7


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c7e086d6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7e086d6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7e086d6

Branch: refs/heads/trunk
Commit: c7e086d61161f9bf99e0672082ce423c1fbfdce1
Parents: 01847ac 6932bbd
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Wed Jun 1 12:39:39 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:39:39 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7e086d6/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7e086d6/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------


[07/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ty...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0

Conflicts:
	CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6932bbd9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6932bbd9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6932bbd9

Branch: refs/heads/trunk
Commit: 6932bbd909547684469ab5e2ea9e49c2e1005996
Parents: f99f8a8 b8f5c1f
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Wed Jun 1 12:39:23 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:39:23 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6932bbd9/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 07845a6,c97293d..a59dff1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 -2.2.7
 +3.0.7
 + * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912)
 + * Fix sstables not being protected from removal during index build (CASSANDRA-11905)
 + * cqlsh: Suppress stack trace from Read/WriteFailures (CASSANDRA-11032)
 + * Remove unneeded code to repair index summaries that have
 +   been improperly down-sampled (CASSANDRA-11127)
 + * Avoid WriteTimeoutExceptions during commit log replay due to materialized
 +   view lock contention (CASSANDRA-11891)
 + * Prevent OOM failures on SSTable corruption, improve tests for corruption detection (CASSANDRA-9530)
 + * Use CFS.initialDirectories when clearing snapshots (CASSANDRA-11705)
 + * Allow compaction strategies to disable early open (CASSANDRA-11754)
 + * Refactor Materialized View code (CASSANDRA-11475)
 + * Update Java Driver (CASSANDRA-11615)
 +Merged from 2.2:
+  * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
   * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
   * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
   * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6932bbd9/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------


[06/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ty...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0

Conflicts:
	CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6932bbd9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6932bbd9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6932bbd9

Branch: refs/heads/cassandra-3.0
Commit: 6932bbd909547684469ab5e2ea9e49c2e1005996
Parents: f99f8a8 b8f5c1f
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Wed Jun 1 12:39:23 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:39:23 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6932bbd9/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 07845a6,c97293d..a59dff1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 -2.2.7
 +3.0.7
 + * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912)
 + * Fix sstables not being protected from removal during index build (CASSANDRA-11905)
 + * cqlsh: Suppress stack trace from Read/WriteFailures (CASSANDRA-11032)
 + * Remove unneeded code to repair index summaries that have
 +   been improperly down-sampled (CASSANDRA-11127)
 + * Avoid WriteTimeoutExceptions during commit log replay due to materialized
 +   view lock contention (CASSANDRA-11891)
 + * Prevent OOM failures on SSTable corruption, improve tests for corruption detection (CASSANDRA-9530)
 + * Use CFS.initialDirectories when clearing snapshots (CASSANDRA-11705)
 + * Allow compaction strategies to disable early open (CASSANDRA-11754)
 + * Refactor Materialized View code (CASSANDRA-11475)
 + * Update Java Driver (CASSANDRA-11615)
 +Merged from 2.2:
+  * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
   * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
   * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
   * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6932bbd9/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------


[04/10] cassandra git commit: cqlsh: Fix tab completion for case-sensitive identifiers

Posted by ty...@apache.org.
cqlsh: Fix tab completion for case-sensitive identifiers

Patch by Mahdi Mohammadi; reviewed by Tyler Hobbs for CASSANDRA-11664


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8f5c1fc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8f5c1fc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8f5c1fc

Branch: refs/heads/trunk
Commit: b8f5c1fcecf30e096b4a36904fdc12550910c854
Parents: 43e9d29
Author: Mahdi Mohammadi <ma...@gmail.com>
Authored: Tue May 31 11:58:06 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:38:49 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ffd5b31..c97293d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.7
+ * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
  * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
  * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
  * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 81e13c9..897ee16 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -90,6 +90,12 @@ class Cql3ParsingRuleSet(CqlParsingRuleSet):
             return str(value)
         return "'%s'" % value.replace("'", "''")
 
+    @classmethod
+    def escape_name(cls, name):
+        if name is None:
+            return 'NULL'
+        return "'%s'" % name.replace("'", "''")
+
     @staticmethod
     def dequote_name(name):
         name = name.strip()


[02/10] cassandra git commit: cqlsh: Fix tab completion for case-sensitive identifiers

Posted by ty...@apache.org.
cqlsh: Fix tab completion for case-sensitive identifiers

Patch by Mahdi Mohammadi; reviewed by Tyler Hobbs for CASSANDRA-11664


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8f5c1fc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8f5c1fc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8f5c1fc

Branch: refs/heads/cassandra-3.0
Commit: b8f5c1fcecf30e096b4a36904fdc12550910c854
Parents: 43e9d29
Author: Mahdi Mohammadi <ma...@gmail.com>
Authored: Tue May 31 11:58:06 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:38:49 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ffd5b31..c97293d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.7
+ * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
  * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
  * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
  * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 81e13c9..897ee16 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -90,6 +90,12 @@ class Cql3ParsingRuleSet(CqlParsingRuleSet):
             return str(value)
         return "'%s'" % value.replace("'", "''")
 
+    @classmethod
+    def escape_name(cls, name):
+        if name is None:
+            return 'NULL'
+        return "'%s'" % name.replace("'", "''")
+
     @staticmethod
     def dequote_name(name):
         name = name.strip()


[03/10] cassandra git commit: cqlsh: Fix tab completion for case-sensitive identifiers

Posted by ty...@apache.org.
cqlsh: Fix tab completion for case-sensitive identifiers

Patch by Mahdi Mohammadi; reviewed by Tyler Hobbs for CASSANDRA-11664


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b8f5c1fc
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b8f5c1fc
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b8f5c1fc

Branch: refs/heads/cassandra-3.7
Commit: b8f5c1fcecf30e096b4a36904fdc12550910c854
Parents: 43e9d29
Author: Mahdi Mohammadi <ma...@gmail.com>
Authored: Tue May 31 11:58:06 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:38:49 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ffd5b31..c97293d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.7
+ * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
  * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
  * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
  * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b8f5c1fc/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------
diff --git a/pylib/cqlshlib/cql3handling.py b/pylib/cqlshlib/cql3handling.py
index 81e13c9..897ee16 100644
--- a/pylib/cqlshlib/cql3handling.py
+++ b/pylib/cqlshlib/cql3handling.py
@@ -90,6 +90,12 @@ class Cql3ParsingRuleSet(CqlParsingRuleSet):
             return str(value)
         return "'%s'" % value.replace("'", "''")
 
+    @classmethod
+    def escape_name(cls, name):
+        if name is None:
+            return 'NULL'
+        return "'%s'" % name.replace("'", "''")
+
     @staticmethod
     def dequote_name(name):
         name = name.strip()


[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.7

Posted by ty...@apache.org.
Merge branch 'cassandra-3.0' into cassandra-3.7


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c7e086d6
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c7e086d6
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c7e086d6

Branch: refs/heads/cassandra-3.7
Commit: c7e086d61161f9bf99e0672082ce423c1fbfdce1
Parents: 01847ac 6932bbd
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Wed Jun 1 12:39:39 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:39:39 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7e086d6/CHANGES.txt
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/cassandra/blob/c7e086d6/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------


[10/10] cassandra git commit: Merge branch 'cassandra-3.7' into trunk

Posted by ty...@apache.org.
Merge branch 'cassandra-3.7' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/49a2da9b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/49a2da9b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/49a2da9b

Branch: refs/heads/trunk
Commit: 49a2da9b73bb36f20835aab877719c16b7c505e4
Parents: 274a8e4 c7e086d
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Wed Jun 1 12:39:52 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:39:52 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/49a2da9b/CHANGES.txt
----------------------------------------------------------------------


[05/10] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

Posted by ty...@apache.org.
Merge branch 'cassandra-2.2' into cassandra-3.0

Conflicts:
	CHANGES.txt


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6932bbd9
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6932bbd9
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6932bbd9

Branch: refs/heads/cassandra-3.7
Commit: 6932bbd909547684469ab5e2ea9e49c2e1005996
Parents: f99f8a8 b8f5c1f
Author: Tyler Hobbs <ty...@gmail.com>
Authored: Wed Jun 1 12:39:23 2016 -0500
Committer: Tyler Hobbs <ty...@gmail.com>
Committed: Wed Jun 1 12:39:23 2016 -0500

----------------------------------------------------------------------
 CHANGES.txt                    | 1 +
 pylib/cqlshlib/cql3handling.py | 6 ++++++
 2 files changed, 7 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6932bbd9/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 07845a6,c97293d..a59dff1
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,17 -1,5 +1,18 @@@
 -2.2.7
 +3.0.7
 + * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912)
 + * Fix sstables not being protected from removal during index build (CASSANDRA-11905)
 + * cqlsh: Suppress stack trace from Read/WriteFailures (CASSANDRA-11032)
 + * Remove unneeded code to repair index summaries that have
 +   been improperly down-sampled (CASSANDRA-11127)
 + * Avoid WriteTimeoutExceptions during commit log replay due to materialized
 +   view lock contention (CASSANDRA-11891)
 + * Prevent OOM failures on SSTable corruption, improve tests for corruption detection (CASSANDRA-9530)
 + * Use CFS.initialDirectories when clearing snapshots (CASSANDRA-11705)
 + * Allow compaction strategies to disable early open (CASSANDRA-11754)
 + * Refactor Materialized View code (CASSANDRA-11475)
 + * Update Java Driver (CASSANDRA-11615)
 +Merged from 2.2:
+  * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
   * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
   * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
   * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/6932bbd9/pylib/cqlshlib/cql3handling.py
----------------------------------------------------------------------