modified:   core/sql/bin/SqlciErrors.txt
        modified:   core/sql/exp/ExpErrorEnums.h
        modified:   core/sql/exp/exp_function.cpp
        modified:   core/sql/optimizer/SynthType.cpp
        modified:   core/sql/regress/core/EXPECTED038.LINUX
        modified:   docs/messages_guide/src/asciidoc/_chapters/binder_msgs.adoc
        modified:   
docs/messages_guide/src/asciidoc/_chapters/executor_msgs.adoc


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

Branch: refs/heads/master
Commit: 24df13953b69a664245de71f0299b2b1eb40dfb7
Parents: f6aa876
Author: zlei929 <[email protected]>
Authored: Wed Jul 18 13:10:23 2018 +0800
Committer: zlei929 <[email protected]>
Committed: Wed Jul 18 13:10:23 2018 +0800

----------------------------------------------------------------------
 core/sql/bin/SqlciErrors.txt                         |  4 ++--
 core/sql/exp/ExpErrorEnums.h                         |  5 +++++
 core/sql/exp/exp_function.cpp                        |  6 ++----
 core/sql/optimizer/SynthType.cpp                     | 15 ++++-----------
 core/sql/regress/core/EXPECTED038.LINUX              |  2 +-
 .../src/asciidoc/_chapters/binder_msgs.adoc          | 13 -------------
 .../src/asciidoc/_chapters/executor_msgs.adoc        | 13 +++++++++++++
 7 files changed, 27 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/24df1395/core/sql/bin/SqlciErrors.txt
----------------------------------------------------------------------
diff --git a/core/sql/bin/SqlciErrors.txt b/core/sql/bin/SqlciErrors.txt
index a4b13b8..3437cef 100644
--- a/core/sql/bin/SqlciErrors.txt
+++ b/core/sql/bin/SqlciErrors.txt
@@ -1450,7 +1450,7 @@ $1~String1 --------------------------------
 4494 ZZZZZ 99999 BEGINNER MINOR LOGONLY LOAD is not supported on a table with 
LOB columns. Table $0~TableName has LOB column $1~ColumnName.
 4495 ZZZZZ 99999 BEGINNER MINOR LOGONLY UNLOAD is not supported on a SELECT 
with LOB columns. $0~ColumnName is a LOB column.
 4496 42000 99999 BEGINNER MAJOR DBADMIN $0~String0 is supported only with 
datetime fields.
-4497 ZZZZZ 99999 BEGINNER MAJOR DBADMIN The $0~String0 operand of $1~String1 
must be greater than $2~String2
+4497 ZZZZZ 99999 BEGINNER MAJOR DBADMIN The $0~String0 operand of $1~String1 
must be $2~String2.
 5000 ZZZZZ 99999 ADVANCED MAJOR DBADMIN Internal error in the query normalizer.
 5001 ZZZZZ 99999 ADVANDED MINOR LOGONLY Common subexpression $0~String0 will 
not be shared among multiple consumers. Reason: $1~String1.
 6000 ZZZZZ 99999 ADVANCED MAJOR DBADMIN Internal error in the query optimizer.
@@ -1684,7 +1684,7 @@ $1~String1 --------------------------------
 8676 ZZZZZ 99999 ADVANCED INFRM DBADMIN Cannot suspend the query because it is 
already suspended.
 8677 ZZZZZ 99999 ADVANCED INFRM DBADMIN Cannot activate the query because it 
is not suspended.
 8690 ZZZZZ 99999 BEGINNER MINOR LOGONLY An invalid character value encountered 
in TRANSLATE function. Source charset $0~string0 , Target charset $1~string1. 
Error data in HEX: $2~string2 .
-8691 ZZZZZ 99999 UUUUUUUU UUUUU UUUUUUU ---- unused ----
+8691 ZZZZZ 99999 BEGINNER MINOR LOGONLY Field position must be greater than 
zero, currently is $0~int0.
 8692 ZZZZZ 99999 UUUUUUUU UUUUU UUUUUUU ---- unused ----
 8693 ZZZZZ 99999 UUUUUUUU UUUUU UUUUUUU ---- unused ----
 8694 ZZZZZ 99999 UUUUUUUU UUUUU UUUUUUU ---- unused ----

http://git-wip-us.apache.org/repos/asf/trafodion/blob/24df1395/core/sql/exp/ExpErrorEnums.h
----------------------------------------------------------------------
diff --git a/core/sql/exp/ExpErrorEnums.h b/core/sql/exp/ExpErrorEnums.h
index 96defee..ef17b71 100644
--- a/core/sql/exp/ExpErrorEnums.h
+++ b/core/sql/exp/ExpErrorEnums.h
@@ -263,6 +263,11 @@ enum ExeErrorCode
   //-------------------------------------------------------------
   EXE_INVALID_CHAR_IN_TRANSLATE_FUNC    = 8690,
 
+  //-------------------------------------------------------------
+  // Errors codes split_part function.
+  //-------------------------------------------------------------
+  EXE_INVALID_FIELD_POSITION            = 8691,
+  
   // ---------------------------------------------------------------------
   // Parallel execution
   // ---------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/trafodion/blob/24df1395/core/sql/exp/exp_function.cpp
----------------------------------------------------------------------
diff --git a/core/sql/exp/exp_function.cpp b/core/sql/exp/exp_function.cpp
index 496fa3f..ecd904b 100644
--- a/core/sql/exp/exp_function.cpp
+++ b/core/sql/exp/exp_function.cpp
@@ -2764,10 +2764,8 @@ ex_expr::exp_return_type 
ex_function_split_part::eval(char *op_data[]
 
   if (indexOfTarget <= 0)
     {
-       ExRaiseSqlError(heap, diagsArea, (ExeErrorCode)4497);
-       *(*diagsArea) << DgString0("third") 
-                     << DgString1("split_part")
-                     << DgString2("0");
+       ExRaiseSqlError(heap, diagsArea, EXE_INVALID_FIELD_POSITION);
+       *(*diagsArea) << DgInt0(indexOfTarget);
        return ex_expr::EXPR_ERROR;
     }
 

http://git-wip-us.apache.org/repos/asf/trafodion/blob/24df1395/core/sql/optimizer/SynthType.cpp
----------------------------------------------------------------------
diff --git a/core/sql/optimizer/SynthType.cpp b/core/sql/optimizer/SynthType.cpp
index ab6ff07..9efcb41 100644
--- a/core/sql/optimizer/SynthType.cpp
+++ b/core/sql/optimizer/SynthType.cpp
@@ -7163,8 +7163,10 @@ const NAType * SplitPart::synthesizeType()
   if ((operand2->getTypeQualifier() != NA_CHARACTER_TYPE)
       && (operand1->getFSDatatype() != REC_CLOB))
   {
-    //4051 The second operand of a split_part function must be character.
-    *CmpCommon::diags()<<DgSqlCode(-4051) << DgString0(getTextUpper());
+    //4497 The second operand of a split_part function must be character.
+    *CmpCommon::diags()<<DgSqlCode(-4497) << DgString0("second")
+                                          << DgString1(getTextUpper())
+                                          << DgString2("character");
     return NULL;
   }
 
@@ -7175,15 +7177,6 @@ const NAType * SplitPart::synthesizeType()
     return NULL;
   }
 
-  NABoolean negate;
-  ConstValue *cv = child(2)->castToConstValue(negate);
-  if (negate)
-  {
-    //4496 The third operand of a split_part function must be greater than 
zero.
-    *CmpCommon::diags() << DgSqlCode(-4497) << DgString0("third") << 
DgString1(getTextUpper()) << DgString2("0");
-    return NULL;
-  }
-
   const CharType *charOperand = (CharType *)operand1; 
   Lng32 maxLength_bytes = charOperand->getDataStorageSize();
   Lng32 maxLength_chars = charOperand->getPrecisionOrMaxNumChars();

http://git-wip-us.apache.org/repos/asf/trafodion/blob/24df1395/core/sql/regress/core/EXPECTED038.LINUX
----------------------------------------------------------------------
diff --git a/core/sql/regress/core/EXPECTED038.LINUX 
b/core/sql/regress/core/EXPECTED038.LINUX
index 117c7eb..aceb087 100644
--- a/core/sql/regress/core/EXPECTED038.LINUX
+++ b/core/sql/regress/core/EXPECTED038.LINUX
@@ -4709,7 +4709,7 @@ sc
 >>-- **EMPTY RESULT** 
 >>select split_part('sa:sbl:sc', ':', 0) from t038sf;
 
-*** ERROR[4497] The third operand of split_part must be greater than 0
+*** ERROR[8691] Field position must be greater than zero, currently is 0.
 
 --- 0 row(s) selected.
 >>select split_part('sa:sbl:sc', ':', 4) from t038sf;

http://git-wip-us.apache.org/repos/asf/trafodion/blob/24df1395/docs/messages_guide/src/asciidoc/_chapters/binder_msgs.adoc
----------------------------------------------------------------------
diff --git a/docs/messages_guide/src/asciidoc/_chapters/binder_msgs.adoc 
b/docs/messages_guide/src/asciidoc/_chapters/binder_msgs.adoc
index f638754..1d63514 100644
--- a/docs/messages_guide/src/asciidoc/_chapters/binder_msgs.adoc
+++ b/docs/messages_guide/src/asciidoc/_chapters/binder_msgs.adoc
@@ -2918,16 +2918,3 @@ Use of predefined UDF <name> is deprecated and this 
function will be removed in
 *Effect:* The operation succeeds - this is only a warning.
 
 *Recovery:* See message.
-
-[[SQL-4997]]
-== SQL 4997
-
-```
-The <number> operand of builtin-func <name> must be great than <intger value>.
-```
-*Cause:* You attempted to use the random function, which some operand of this 
has range.
-
-*Effect:* The operation fails.
-
-*Recovery:* Correct the syntax and resubmit.
-

http://git-wip-us.apache.org/repos/asf/trafodion/blob/24df1395/docs/messages_guide/src/asciidoc/_chapters/executor_msgs.adoc
----------------------------------------------------------------------
diff --git a/docs/messages_guide/src/asciidoc/_chapters/executor_msgs.adoc 
b/docs/messages_guide/src/asciidoc/_chapters/executor_msgs.adoc
index 06403c7..71b34ff 100644
--- a/docs/messages_guide/src/asciidoc/_chapters/executor_msgs.adoc
+++ b/docs/messages_guide/src/asciidoc/_chapters/executor_msgs.adoc
@@ -464,6 +464,19 @@ or rollback.
 commit or rollback. {project-name} must start any transactions it will later 
commit or rollback.
 
 <<<
+[[SQL-8691]]                                                                   
                 
+== SQL 8691
+```
+Field position must be great than zero.
+```
+
+*Cause:* You attempted to use an invalid value for the third operand of the 
split_part function.
+
+*Effect:* The operation fails.
+
+*Recovery:* Correct the syntax and resubmit.
+
+<<<
 [[SQL-8808]]
 == SQL 8808
 

Reply via email to