← Back to team overview

maria-developers team mailing list archive

Re: MDEV-8615: Assertion `m_cpp_buf <= begin_ptr && begin_ptr <= m_cpp_buf + m_buf_length' failed in Lex_input_stream::body_utf8_start

 

Hi!

On 21.01.2016 17:16, Sergei Golubchik wrote:
Hi, Sanja!

On Dec 25, OleksandrByelkin wrote:
revision-id: 684bd68c33284f6106551188d9567f35b18593ed (mariadb-10.1.9-21-g684bd68)
parent(s): 59fcd7ff2315d007045eb987da5f21abbea6f6f1
committer: Oleksandr Byelkin
timestamp: 2015-12-25 18:39:43 +0100
message:

MDEV-8615: Assertion `m_cpp_buf <= begin_ptr && begin_ptr <= m_cpp_buf + m_buf_length' failed in Lex_input_stream::body_utf8_start

Nothing should be done before any keyword recognised.

diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result
index e258b1d..a9980a7 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -29,40 +29,40 @@ select 0 as "after_successful_stmt_errno" ;
  after_successful_stmt_errno
  0
  garbage ;
-ERROR 42000: You have an error in your SQL syntax; <...> near 'garbage' at line 1
+ERROR 42000: You have an error in your SQL syntax; <...> near '' at line 1
Why is that?
I mean, how does the parser parse "garbage" now?
New rules. That is what I didi not liked. I think it take it as possible label, but I have no idea how to rewrite rules to avoid this problem.

diff --git a/mysql-test/suite/funcs_1/r/storedproc.result b/mysql-test/suite/funcs_1/r/storedproc.result
index f0e1ee7..485082a 100644
--- a/mysql-test/suite/funcs_1/r/storedproc.result
+++ b/mysql-test/suite/funcs_1/r/storedproc.result
@@ -15982,8 +15982,7 @@ insert into res_t3_itisalongname_1381742_itsaverylongname_1381742 values( 'xyz'
  until count1 < 3
  END repeat label1;
  END//
-ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'label1;
-END' at line 8
+ERROR 42000: End-label label1 without match
New error message is correct, great!
But in other places it parses more then we want :(
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index a5a62ae..74d308f 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -248,6 +248,36 @@ static bool maybe_start_compound_statement(THD *thd)
    return 0;
This looks quite good!
But it was a bit difficult to see how the new sql_yacc.yy will look
like. Did you push this patch? In what branch?

No, I have not pushed was waiting for review.

[skip]


References