[tarantool-patches] Re: [PATCH v1 1/2] sql: restrict nullable action definitions

  • From: Kirill Shcherbatov <kshcherbatov@xxxxxxxxxxxxx>
  • To: tarantool-patches@xxxxxxxxxxxxx, Vladislav Shpilevoy <v.shpilevoy@xxxxxxxxxxxxx>
  • Date: Mon, 16 Jul 2018 15:27:58 +0300

1. No, is_primkey still is not removed. I see it in struct Column.
I've removed is_primkey and struct Column at all in separate commit that would 
be sent next this letter.

+ccons ::= NULL onconf(R).        {
+    sqlite3AddNotNull(pParse, ON_CONFLICT_ACTION_NONE);
+    /* Trigger nullability mismatch error if required. */
+    if (R != ON_CONFLICT_ACTION_DEFAULT)

2. Why do you need this check?
4. This test does not work, it fails on syntax, but must fail on action.
Ok, I've hacked to make it work this way.
sqlite3AddNotNull would rise and error on rewriting on_conflict;
ON_CONFLICT_ACTION_DEFAULT is returned when no ON CONFLICT action is specified.

3. Why sqlite3AddNotNull is called when NULL is allowed?
Please, rename the function or split it or something.
Renamed to sql_column_nullable_action_add as separate commit.

Other related posts: