You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2016/05/05 23:39:37 UTC

[06/22] incubator-trafodion git commit: Incorporated initial review comments.

Incorporated initial review comments.


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

Branch: refs/heads/master
Commit: c5543bd82d2ba7edca79b988423a1e4c1effafb6
Parents: 09be4be
Author: Gunnar Tapper <gt...@esgyn.local>
Authored: Sat Apr 30 12:52:23 2016 -0600
Committer: Gunnar Tapper <gt...@esgyn.local>
Committed: Sat Apr 30 12:52:23 2016 -0600

----------------------------------------------------------------------
 docs/jdbct4ref_guide/pom.xml                    |  4 +-
 .../src/asciidoc/_chapters/accessing.adoc       | 60 +++++++++-----------
 .../asciidoc/_chapters/avoiding_mismatch.adoc   |  9 ---
 .../src/asciidoc/_chapters/compliance.adoc      | 27 ++-------
 .../src/asciidoc/_chapters/introduction.adoc    |  2 +-
 .../src/asciidoc/_chapters/lob_management.adoc  |  8 +--
 .../asciidoc/_chapters/properties_detail.adoc   | 20 +++----
 .../src/asciidoc/_chapters/tracing_logging.adoc |  4 +-
 8 files changed, 51 insertions(+), 83 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/pom.xml
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/pom.xml b/docs/jdbct4ref_guide/pom.xml
index 413710e..ef69349 100644
--- a/docs/jdbct4ref_guide/pom.xml
+++ b/docs/jdbct4ref_guide/pom.xml
@@ -242,8 +242,8 @@
                   - target/docs/<version>/<document> contains the PDF version and the web book. The web book is named index.html
                 --> 
                 <!-- Copy the PDF file to its target directories -->
-                <copy file="${basedir}/target/index.pdf" tofile="${basedir}/../target/docs/jdbct4ref_guide/JDBCT4_Reference_Guide.pdf" />
-                <copy file="${basedir}/target/index.pdf" tofile="${basedir}/../target/docs/${project.version}/jdbct4ref_guide/JDBCT4_Reference_Guide.pdf" />
+                <copy file="${basedir}/target/index.pdf" tofile="${basedir}/../target/docs/jdbct4ref_guide/Trafodion_JDBCT4_Reference_Guide.pdf" />
+                <copy file="${basedir}/target/index.pdf" tofile="${basedir}/../target/docs/${project.version}/jdbct4ref_guide/Trafodion_JDBCT4_Reference_Guide.pdf" />
                 <!-- Copy the Web Book files to their target directories -->
                 <copy todir="${basedir}/../target/docs/jdbct4ref_guide">
                   <fileset dir="${basedir}/target/site">

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/src/asciidoc/_chapters/accessing.adoc
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/src/asciidoc/_chapters/accessing.adoc b/docs/jdbct4ref_guide/src/asciidoc/_chapters/accessing.adoc
index 7a6a647..a9b0e01 100644
--- a/docs/jdbct4ref_guide/src/asciidoc/_chapters/accessing.adoc
+++ b/docs/jdbct4ref_guide/src/asciidoc/_chapters/accessing.adoc
@@ -38,8 +38,8 @@ methods for obtaining a JDBC connection to the underlying database.
 
 All JDBC data source classes implement either the `javax.sql.DataSource`
 interface or the `javax.sql.ConnectionPoolDataSource` interface. The Type
-4 driver data source classes are `org.trafodion.t4jdbc.HPT4DataSource` and
-`org.trafodion.t4jdbc.HPT4ConnectionPoolDataSource`. (These classes are
+4 driver data source classes are `org.trafodion.jdbc.t4.HPT4DataSource` and
+`org.trafodion.jdbc.t4.HPT4ConnectionPoolDataSource`. (These classes are
 defined by the JDBC 3.0 specification.)
 
 Typically, a user or system administrator uses a tool to create a data
@@ -50,22 +50,19 @@ connection to the underlying database.
 
 A DataSource object maps to an instance of a database. In the Type 4
 driver product, the DataSource object acts as an interface between the
-application code and the database and enables connection with an DCS
-data source.
+application code and the database and enables connection with a DCS
+(Data Connectivity Services) data source.
 
 [[security]]
 == Security
 
 Clients connect to the {project-name} platform with a valid user name
-and ID, using standard JDBC 3.0 APIs. An application can make multiple
+and password, using standard JDBC 3.0 APIs. An application can make multiple
 connections using different user IDs, and creating different Connection
 objects.
 
 The Type 4 driver provides for user name and password authentication.
-The password is encrypted with a proprietary algorithm provided by DCS.
-
-NOTE: There is no secure wire communication such as SSL provided for the
-communication between Type 4 driver and the {project-name} platform.
+The password is encrypted.
 
 <<<
 [[connection-by-using-the-datasource-interface]]
@@ -143,7 +140,7 @@ the `HPT4ConnectionPoolDataSource` object.
 [source, java]
 ----
 HPT4DataSource temp = new HPT4DataSource() ;
-temp.setCatalog( "Seabase" ) ;
+temp.setCatalog( "TRAFODION" ) ;
 ----
 
 In the following example, the code fragment illustrates the methods that a
@@ -156,8 +153,8 @@ to use the Type 4 driver to access a {project-name} database:
 ----
 HPT4DataSource ds = new HPT4DataSource() ;
 
-ds.setUrl( "jdbc:hpt4jdbc://<primary IP addr or host name>:18650/" );
-ds.setCatalog( "Seabase" ) ;
+ds.setUrl( "jdbc:t4jdbc://<primary IP addr or host name>:2300/" );
+ds.setCatalog( "TRAFODION" ) ;
 ds.setSchema( "myschema" ) ;
 ds.setUser( "gunnar" ) ;
 ds.setPassword( "my_userpassword" ) ;
@@ -282,7 +279,7 @@ When an application issues a request for a connection using the
 finds a suitable driver that recognizes this URL and obtains a database
 connection using that driver.
 
-`org.trafodion.t4jdbc.HPT4Driver` is the Type 4 driver class that
+`org.trafodion.jdbc.t4.T4Driver` is the Type 4 driver class that
 implements the `java.sql.Driver` interface.
 
 <<<
@@ -297,21 +294,21 @@ one of the following ways:
 command line of the Java program:
 +
 ```
--Djdbc.drivers=org.trafodion.t4jdbc.HPT4Driver
+-Djdbc.drivers=org.trafodion.jdbc.t4.T4Driver
 ```
 
 * Uses the `Class.forName` method programmatically within the application:
 +
 [source, java]
 ----
-Class.forName("org.trafodion.t4jdbc.HPT4Driver")
+Class.forName("org.trafodion.jdbc.t4.T4Driver")
 ----
 
 * Adds the Type 4 driver class to the `java.lang.System` property
 `jdbc.drivers` property within the application:
 +
 ```
-jdbc.drivers=org.trafodion.t4jdbc.HPT4Driver
+jdbc.drivers=org.trafodion.jdbc.t4.T4Driver
 ```
 
 <<<
@@ -322,14 +319,14 @@ The `DriverManager.getConnection` method accepts a string containing a
 Type 4 driver URL. The JDBC URL for the Type 4 driver is
 
 ```
-jdbc:hpt4jdbc://<ip addr or host name>:3700/[:][property=value[;property2=value2]...]
+jdbc:t4jdbc://<ip addr or host name>:23400/[:][property=value[;property2=value2]...]
 ```
 
 [cols="40%,60%", options="header"]
 |===
 | Parameter                | Usage
 | `<ip addr or host name>` | The primary IP address or host name for the {project-name} database.
-| `37800`                  | The port number for the {project-name} SQL database.
+| `23400`                  | The port number for the {project-name} SQL database.
 | `property = value` and `property2=value2` | Specifies a Type 4 driver property name-property value pair. The pairs must be separated by a
 semicolon (`;`). For example, `T4LogLevel=ALL;T4LogFile=temp1.log`.
 |===
@@ -340,9 +337,9 @@ To establish a connection, the JDBC application can use this code:
 
 [source, java]
 ----
-Class.forName( "org.trafodion.t4jdbc.HPT4Driver" ) ; //loads the driver
+Class.forName( "org.trafodion.jdbc.t4.T4Driver" ) ; //loads the driver
 
-String url = "jdbc:hpt4jdbc://<database primary IP address>:37800/"
+String url = "jdbc:hpt4jdbc://<database primary IP address>:23400/"
 
 Connection con = DriverManager.getConnection( url, "userID", "Passwd" ) ;
 ----
@@ -364,7 +361,7 @@ the order of precedence):
 2.  Using the database URL in the `DriverManager.getconnection` method, where the URL is:
 +
 ```
-jdbc:hpt4jdbc://<ip addr or host name>:37800/:property=value
+jdbc:t4jdbc://<ip addr or host name>:23400/:property=value
 ```
 +
 `<ip addr or host name>` is the primary IP address or host name for the {project-name} database.
@@ -375,10 +372,10 @@ passed as a command-line parameter. The format to enter the properties
 file in the command line is:
 +
 ```
--Dhpt4jdbc.properties=<path of properties file on disk>
+-Dt4jdbc.properties=<path of properties file on disk>
 ```
 +
-For example, `-Dhpt4jdbc.properties=C:\temp\t4props`
+For example, `-Dt4jdbc.properties=C:\temp\t4props`
 +
 For information about the properties file, see <<creating-and-using-a-properties-file, Creating and Using a Properties File>>.
 4.  Using JDBC properties with the `-D` option in the command line. If
@@ -387,10 +384,10 @@ used, this option applies to all JDBC connections using the
 line is:
 +
 ```
--Dhpt4jdbc.property_name=<property value>
+-Dt4jdbc.property_name=<property value>
 ```
 +
-For example, `-Dhpt4jdbc.maxStatements=1024`
+For example, `-Dt4jdbc.maxStatements=1024`
 
 <<<
 [[connection-pooling]]
@@ -431,7 +428,6 @@ catalog
 schema
 username
 password
-serverDataSource
 ```
 +
 Therefore, connections that have the same values for the combination of
@@ -610,7 +606,7 @@ defined for the {project-name} JDBC Type 4 driver with class:
 
 [source, java]
 ----
-org.trafodion.t4jdbc.HPT4PreparedStatement: public String
+org.trafodion.jdbc.t4.T4PreparedStatement: public String
 getStatementLabel() ;
 ----
 
@@ -846,7 +842,7 @@ The property file that has the messages must have a file name in the
 form:
 
 ```
-HPT4Messages_xx.properties
+T4Messages_xx.properties
 ```
 
 where `xx` is the locale name. The locale name is defined by the current
@@ -855,7 +851,7 @@ default locale or by the language property.
 The Type 4 driver is shipped with an error messages and status messages
 property file that contains the textual representation of errors and
 status messages for the English locale. The file is named
-`HPT4Messages_en.properties`.
+`T4Messages_en.properties`.
 
 [[localized-message-string-format]]
 ==== Localized-Message String Format
@@ -884,12 +880,12 @@ driver. Any translation must include these placeholders.
 [[procedure-to-create-a-localized-message-file]]
 ==== Procedure to Create a Localized-Message File
 
-1.  Extract the `HPT4Messages_en.properties file`, which is in the
-`hpt4jdbc.jar file`.
+1.  Extract the `T4Messages_en.properties file`, which is in the
+`jdbcT4-*.jar file`.
 +
 *Example*
 +
-From a UNIX prompt, use the jar Java tool: `jar -x HPT4Messages_en.properties < hpt4jdbc.jar`
+From a UNIX prompt, use the jar Java tool: `jar -x T4Messages_en.properties < jdbcT4-*.jar`
 
 2.  Copy the file.
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/src/asciidoc/_chapters/avoiding_mismatch.adoc
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/src/asciidoc/_chapters/avoiding_mismatch.adoc b/docs/jdbct4ref_guide/src/asciidoc/_chapters/avoiding_mismatch.adoc
index 8d40e10..67b5289 100644
--- a/docs/jdbct4ref_guide/src/asciidoc/_chapters/avoiding_mismatch.adoc
+++ b/docs/jdbct4ref_guide/src/asciidoc/_chapters/avoiding_mismatch.adoc
@@ -95,12 +95,3 @@ the server event log on node <logfile_location> for details.
 * <errortext> is the error text from the server.
 * <logfile_location> is the location of the log file.
 
-Additional error text returned only by a Release 2.2 server, but displayed by any version driver:
-
-```
-Version Mismatch: Client Version is: Pre R2.2.0 Server Version is:
-R2.2.0 Server vproc is:
-
-T7969N25_10AUG07_N25_AS_0613 ERROR
-```
-

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/src/asciidoc/_chapters/compliance.adoc
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/src/asciidoc/_chapters/compliance.adoc b/docs/jdbct4ref_guide/src/asciidoc/_chapters/compliance.adoc
index 25eedf1..3c18eaf 100644
--- a/docs/jdbct4ref_guide/src/asciidoc/_chapters/compliance.adoc
+++ b/docs/jdbct4ref_guide/src/asciidoc/_chapters/compliance.adoc
@@ -207,7 +207,7 @@ For details, see <<localizing-error-messages-and-status-messages, Localizing Err
 [[additional-databasemetadata-apis]]
 === Additional DatabaseMetaData APIs
 
-APIs added to the `HPT4DatabaseMetaData` class provide these capabilities:
+APIs added to the `T4DatabaseMetaData` class provide these capabilities:
 
 * Get a description of a table's synonyms.
 +
@@ -225,25 +225,6 @@ public java.sql.ResultSet getMaterializedViewInfo(String catalog, String schema,
 ----
 ////
 
-[[additional-connection-apis]]
-=== Additional Connection APIs
-
-APIs added to the `HPT4Connection` class provide these capabilities:
-
-* Sets the current service name for this Connection object.
-+
-[source, java]
-----
-public void setServiceName(String serviceName) throws SQLException
-----
-
-* Gets (retrieves) the current service name of this Connection object. Default return value: HP_DEFAULT_SERVICE.
-+
-[source, java]
-----
-public String getServiceName() throws SQLException
-----
-
 [[conformance-of-databasemetadata-methods-handling-of-null-parameters]]
 == Conformance of DatabaseMetaData Methods' Handling of Null Parameters
 
@@ -304,9 +285,9 @@ The following table shows the JDBC data types that are supported by Type
 | `Types.BIGINT`        | Yes                                                                                            | `LARGEINT`
 | `Types.BINARY`        | Data type is mapped by {project-name} SQL. Data type varies from that used for table creation. | `CHAR(n)`^1^
 | `Types.BIT`           | Data type is mapped by {project-name} SQL. Data type varies from that used for table creation. | `CHAR(1)`
-| `Types.BLOB`          | Yes                                                                                            | `LARGEINT`
+// | `Types.BLOB`          | Yes                                                                                            | `LARGEINT`
 | `Types.CHAR`          | Yes                                                                                            | `CHAR(n)`
-| `Types.CLOB`          | Yes                                                                                            | `LARGEINT`
+// | `Types.CLOB`          | Yes                                                                                            | `LARGEINT`
 | `Types.DATE`          | Yes                                                                                            | `DATE`
 | `Types.DECIMAL`       | Yes                                                                                            | `DECIMAL(p,s)`
 | `Types.DISTINCT`      | No                                                                                             | Not applicable.
@@ -383,4 +364,4 @@ These features are not required for JDBC 3.0 compliance, and they are not suppor
 * The Type 4 driver supports only database features that are supported by {project-name} SQL and SPJ.
 Therefore, the Type 4 driver is not fully compliant with JDBC 3.0 specifications.
 
-* The Type 4 driver depends on the HP connectivity service for all server side manageability related features.
+* The Type 4 driver depends on DCS (Data Connectivity Service) for all server side manageability related features.

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/src/asciidoc/_chapters/introduction.adoc
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/src/asciidoc/_chapters/introduction.adoc b/docs/jdbct4ref_guide/src/asciidoc/_chapters/introduction.adoc
index a0f8219..5547dab 100644
--- a/docs/jdbct4ref_guide/src/asciidoc/_chapters/introduction.adoc
+++ b/docs/jdbct4ref_guide/src/asciidoc/_chapters/introduction.adoc
@@ -35,7 +35,7 @@ platforms that support JDK 1.4.1 or higher.
 [[type-4-driver-api-package]]
 == Type 4 Driver API Package
 
-The Type 4 driver package, `org.trafodion.t4jdbc`, is shipped with the
+The Type 4 driver package, `org.trafodion.jdbc.t4`, is shipped with the
 driver software. For class and method descriptions, see the
 _{project-name} JDBC Type 4 Driver API Reference_.
 

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/src/asciidoc/_chapters/lob_management.adoc
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/src/asciidoc/_chapters/lob_management.adoc b/docs/jdbct4ref_guide/src/asciidoc/_chapters/lob_management.adoc
index 7fd5794..73715a2 100644
--- a/docs/jdbct4ref_guide/src/asciidoc/_chapters/lob_management.adoc
+++ b/docs/jdbct4ref_guide/src/asciidoc/_chapters/lob_management.adoc
@@ -128,7 +128,7 @@ Run the T4LobAdmin utility from the workstation. The format of the
 command is:
 
 ```
-java [java_options] org.trafodion.t4jdbc.T4LobAdmin [prog_options] [table_name]
+java [java_options] org.trafodion.jdbc.t4.T4LobAdmin [prog_options] [table_name]
 ```
 
 [[java-options]]
@@ -183,14 +183,14 @@ For information about catalog, schema, and table names, see the
 To display help for the Type 4 Lob Admin Utility, type:
 
 ```
-java org.trafodion.t4jdbc.T4LobAdmin -help
+java org.trafodion.jdbc.t4.T4LobAdmin -help
 ```
 
 *Example*
 
 ```
 Apache Trafodion T4 Lob Admin Utility 1.0 (c) Copyright 2015-2016
-org.trafodion.t4jdbc.T4LobAdmin [<prog_options>] [<table_name>]
+org.trafodion.jdbc.t4.T4LobAdmin [<prog_options>] [<table_name>]
 
 <java_options> is:
      [-Dhpt4jdbc.properties=<properties file>]
@@ -254,7 +254,7 @@ contains a BLOB column, and executes those statements.
 
 ```
 java -Dhpt4jdbc.blobTableName=sales.paris.lobTable4pictures /
-org.trafodion.t4jdbc.T4LobAdmin -trigger -exec sales.paris.pictures
+org.trafodion.jdbc.t4.T4LobAdmin -trigger -exec sales.paris.pictures
 ```
 
 [[limitations-of-lob-data-clob-and-blob-data-types]]

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/src/asciidoc/_chapters/properties_detail.adoc
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/src/asciidoc/_chapters/properties_detail.adoc b/docs/jdbct4ref_guide/src/asciidoc/_chapters/properties_detail.adoc
index 632ea7e..876cc71 100644
--- a/docs/jdbct4ref_guide/src/asciidoc/_chapters/properties_detail.adoc
+++ b/docs/jdbct4ref_guide/src/asciidoc/_chapters/properties_detail.adoc
@@ -53,10 +53,10 @@ Default: none
 
 *Example*
 
-Specifying the catalog Seabase:
+Specifying the catalog TRAFODION:
 
 ```
-catalog=Seabase
+catalog=TRAFODION
 ```
 
 ////
@@ -235,7 +235,7 @@ Default: SJIS (which is shift-JIS, Japanese)
 *Example*
 
 ```
-java -Dhpt4jdbc.KANJI=SJIS
+java -Dt4jdbc.KANJI=SJIS
 ```
 
 For more information, see
@@ -267,7 +267,7 @@ http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html[Jav
 *Example*
 
 ```
-java -Dhpt4jdbc.KSC5601=ECU_KR
+java -Dt4jdbc.KSC5601=ECU_KR
 ```
 
 For more information, see
@@ -744,7 +744,7 @@ Data type: String
 Default file name is defined by the following pattern:
 
 ```
-%h/hpt4jdbc%u.log
+%h/t4jdbc%u.log
 ```
 
 where
@@ -833,7 +833,7 @@ to the level of tracing provided when calling the `setLogWriter()` method of the
 To enable tracing, use the `hpt4jdbc.T4LogLevel` property specified in the command line:
 
 ```
--Dhpt4jdbc.T4LogLevel=FINE
+-Dt4jdbc.T4LogLevel=FINE
 ```
 
 <<<
@@ -900,11 +900,11 @@ This property is used in the `DriverManager` object. The format
 to specify the URL is:
 
 ```
-jdbc:hpt4jdbc//<primary IP addr or hostname of database>:37800/[:]
+jdbc:t4jdbc//<primary IP addr or hostname of database>:23400/[:]
 [ property=value [ ; property2=value ] ... ]
 ```
 
-where `<primary IP_addr or hostname of database>:37800>` specifies the location of the database.
+where `<primary IP_addr or hostname of database>:23400>` specifies the location of the database.
 
 ```
 Data type: String
@@ -915,7 +915,7 @@ Default: none
 *Example*
 
 ```
-url=jdbc:hpt4jdbc://mynode.mycompanynetwork.net:37800/
+url=jdbc:t4jdbc://mynode.mycompanynetwork.net:23400/
 ```
 
 [[url-property-considerations]]
@@ -929,7 +929,7 @@ url=jdbc:hpt4jdbc://mynode.mycompanynetwork.net:37800/
 
 ** The port number is optional according to both the IPV4 and IPV6 standard.
 
-** The default port number for the database is `37800`.
+** The default port number for the database is `23400`.
 
 <<<
 [[user]]

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/c5543bd8/docs/jdbct4ref_guide/src/asciidoc/_chapters/tracing_logging.adoc
----------------------------------------------------------------------
diff --git a/docs/jdbct4ref_guide/src/asciidoc/_chapters/tracing_logging.adoc b/docs/jdbct4ref_guide/src/asciidoc/_chapters/tracing_logging.adoc
index daedec0..0d7cb9b 100644
--- a/docs/jdbct4ref_guide/src/asciidoc/_chapters/tracing_logging.adoc
+++ b/docs/jdbct4ref_guide/src/asciidoc/_chapters/tracing_logging.adoc
@@ -86,7 +86,7 @@ following additional information:
 
 The Type 4 Driver Logging facility is based on the `java.util.logging`
 package. The Type 4 driver instantiates a `java.util.logging.Logger` class
-and names the logger `org.trafodion.t4jdbc.logger`.
+and names the logger `org.trafodion.jdbc.t4.logger`.
 
 Your JDBC program can access the Type 4 driver logger directly by
 calling the `java.util.logging.Logger` static method `getLogger(String)`.
@@ -96,7 +96,7 @@ calling the `java.util.logging.Logger` static method `getLogger(String)`.
 [source, java]
 ----
 String t4Logger =
-   java.util.logging.Logger.getLogger( "org.trafodion.t4jdbc.logger" ) ;
+   java.util.logging.Logger.getLogger( "org.trafodion.jdbc.t4.logger" ) ;
 ----
 
 <<<