diff --git a/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc b/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc
index 26c2240..4f6c4fb 100644
--- a/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc
+++ b/docs/sql_reference/src/asciidoc/_chapters/sql_statements.adoc
@@ -1515,10 +1515,10 @@
        (return-parameter-declaration[, return-parameter-declaration]...)
     EXTERNAL NAME 'character-string-literal'
     LIBRARY [[catalog-name.]schema-name.]library-name
-    [language c]
+    [LANGUAGE c]
     [parameter style sql]
     [no sql]
-    [not deterministic | deterministic]
+    [NOT DETERMINISTIC | DETERMINISTIC]
     [final call | no final call]
     [no state area | state area size]
     [no parallelism | allow any parallelism]
@@ -1607,7 +1607,7 @@
 specifies the ANSI logical name of a library containing the external function. if you do not fully qualify the
 library name, trafodion sql qualifies it according to the schema of the current session.
 
-* `language c`
+* `LANGUAGE c`
 +
 specifies that the external function is written in the c language. this clause is optional.
 
@@ -1620,7 +1620,7 @@
 +
 specifies that the function does not perform sql operations. this clause is optional.
 
-* `deterministic | not deterministic`
+* `DETERMINISTIC | NOT DETERMINISTIC`
 +
 specifies whether the function always returns the same values for out parameters for a given set of argument
 values (deterministic, the default behavior) or does not return the same values (not deterministic). if the
@@ -1850,6 +1850,11 @@
 If the operation fails after basic semantic checks are performed, the index no longer exists and the entire transaction
 is rolled back even if it is a user-started transaction.
 
+If you are creating an index on a large Trafodion table that is already populated, 
+you should use the NO POPULATE option, and then run the POPULATE INDEX utility to load the index. 
+Because CREATE INDEX executes in a single transaction, it could experience transactional limitations such as a transaction timeout 
+if a large amount of data is to be moved.
+
 [[create_index_authorization_and_availability_requirements]]
 ==== Authorization and Availability Requirements
 
@@ -2069,13 +2074,13 @@
    EXTERNAL NAME 'java-method-name [java-signature]'
    LIBRARY [[catalog-name.]schema-name.]library-name
    [external security external-security-type]
-   language java
+   LANGUAGE java
    parameter style java
    [no sql | contains sql | modifies sql data | reads sql data]
    [dynamic result sets integer]
-   [transaction required | no transaction required]
-   [deterministic | not deterministic]
-   [no isolate | isolate]
+   [TRANSACTION REQUIRED | NO TRANSACTION REQUIRED]
+   [DETERMINISTIC | NOT DETERMINISTIC]
+   [NO ISOLATE| ISOLATE]
 
 procedure-ref is:
    [[catalog-name.]schema-name.]procedure-name
@@ -2259,7 +2264,7 @@
 because those users will be able to execute the SPJ without requiring privileges to the underlying database objects.
 
 <<<
-* `language java`
+* `LANGUAGE java`
 +
 specifies that the external user-defined routine is written in the java language.
 
@@ -2284,27 +2289,27 @@
 The actual number of result sets returned by the SPJ method can be fewer than or equal to this number. If you do not specify
 this option, then the default value is 0 (zero), meaning that the SPJ does not return result sets.
 
-* `transaction required | no transaction required`
+* `TRANSACTION REQUIRED | NO TRANSACTION REQUIRED`
 +
-determines whether the SPJ must run in a transaction inherited from the calling application (`transaction required`, the default
-option) or whether the SPJ runs without inheriting the calling application’s transaction (`no transaction required`). Typically,
+determines whether the SPJ must run in a transaction inherited from the calling application (`TRANSACTION REQUIRED`, the default
+option) or whether the SPJ runs without inheriting the calling application’s transaction (`NO TRANSACTION REQUIRED`). Typically,
 you want the stored procedure to inherit the transaction from the calling application. However, if the SPJ method does
 not access the database or if you want the stored procedure to manage its own transactions, then you should set the stored
-procedure’s transaction attribute to no transaction required. For more information, see
+procedure’s transaction attribute to `NO TRANSACTION REQUIRED`. For more information, see
 <<effects_of_the_transaction_attribute_on_spjs,effects of the transaction attribute on SPJs>>.
 
 <<<
-* `deterministic | not deterministic`
+* `DETERMINISTIC | NOT DETERMINISTIC`
 +
 specifies whether the SPJ always returns the same values for out and inout parameters for a given set of argument values
-(`deterministic`) or does not return the same values (`not deterministic`, the default option). If you specify `deterministic`,
+(`DETERMINISTIC`) or does not return the same values (`NOT DETERMINISTIC`, the default option). If you specify `DETERMINISTIC`,
 {project-name} is not required to call the SPJ each time to produce results; instead, {project-name} caches the results and
 reuses them during subsequent calls, thus optimizing the CALL statement.
 
-* `no isolate | isolate`
+* `NO ISOLATE | ISOLATE`
 +
-specifies that the SPJ executes either in the environment of the database server (`no isolate`) or in an isolated environment
-(`isolate`, the default option). {project-name} allows both options but always executes the SPJ in the UDR server process (`isolate`).
+specifies that the SPJ executes either in the environment of the database server (`NO ISOLATE`) or in an isolated environment
+(`ISOLATE`, the default option). {project-name} allows both options but always executes the SPJ in the UDR server process (`ISOLATE`).
 
 [[create_procedure_considerations]]
 === Considerations for CREATE PROCEDURE
@@ -2669,7 +2674,7 @@
 [[create_schema_examples]]
 === Examples of CREATE SCHEMA
 
-* This example creates a private schema schema named MYSCHEMA, which will be owned by the current user:
+* This example creates a private schema named MYSCHEMA, which will be owned by the current user:
 +
 ```
 CREATE SCHEMA myschema;
