lemon-rs icon indicating copy to clipboard operation
lemon-rs copied to clipboard

Missing checks

Open gwenn opened this issue 1 year ago • 0 comments

% rg -FN 'sqlite3ErrorMsg(pParse, "' sqlite3.c
            sqlite3ErrorMsg(pParse, "misuse of aliased aggregate %s", zAs);
            sqlite3ErrorMsg(pParse, "misuse of aliased window function %s",zAs);
            sqlite3ErrorMsg(pParse, "row value misused");
      sqlite3ErrorMsg(pParse, "%s: %s.%s.%s", zErr, zDb, zTab, zCol);
      sqlite3ErrorMsg(pParse, "%s: %s.%s", zErr, zTab, zCol);
      sqlite3ErrorMsg(pParse, "%s: %s", zErr, zCol);
  sqlite3ErrorMsg(pParse, "%s prohibited in %s", zMsg, zIn);
              sqlite3ErrorMsg(pParse, "not authorized to use function: %#T",
          sqlite3ErrorMsg(pParse, "misuse of %s function %#T()",zType,pExpr);
          sqlite3ErrorMsg(pParse, "no such function: %#T", pExpr);
        sqlite3ErrorMsg(pParse, "row value misused");
    sqlite3ErrorMsg(pParse, "too many terms in ORDER BY clause");
      sqlite3ErrorMsg(pParse, "%r ORDER BY term does not match any "
    sqlite3ErrorMsg(pParse, "too many terms in %s BY clause", zType);
        sqlite3ErrorMsg(pParse, "HAVING clause on a non-aggregate query");
          sqlite3ErrorMsg(pParse, "aggregate functions are not allowed in "
    sqlite3ErrorMsg(pParse, "row value misused");
      sqlite3ErrorMsg(pParse, "IN(...) element has %d term%s - expected %d",
    sqlite3ErrorMsg(pParse, "too many arguments on function %T", pToken);
      sqlite3ErrorMsg(pParse, "unsafe use of %#T()", pExpr);
        sqlite3ErrorMsg(pParse, "variable number must be between ?1 and ?%d",
    sqlite3ErrorMsg(pParse, "too many SQL variables");
    sqlite3ErrorMsg(pParse, "%d columns assigned %d values",
    sqlite3ErrorMsg(pParse, "too many columns in %s", zObject);
    sqlite3ErrorMsg(pParse, "row value misused");
      sqlite3ErrorMsg(pParse, "oversized integer: %s%#T", negFlag?"-":"",pExpr);
        sqlite3ErrorMsg(pParse, "hex literal too big: %s%#T",
        sqlite3ErrorMsg(pParse, "generated column loop on \"%s\"",
              sqlite3ErrorMsg(pParse, "generated column loop on \"%s\"",
        sqlite3ErrorMsg(pParse, "misuse of aggregate: %#T()", pExpr);
        sqlite3ErrorMsg(pParse, "unknown function: %#T()", pExpr);
        sqlite3ErrorMsg(pParse, "%d columns assigned %d values",
      sqlite3ErrorMsg(pParse, "row value misused");
    sqlite3ErrorMsg(pParse, "table %s may not be altered", pTab->zName);
    sqlite3ErrorMsg(pParse, "view %s may not be altered", pTab->zName);
    sqlite3ErrorMsg(pParse, "Cannot add a PRIMARY KEY column");
    sqlite3ErrorMsg(pParse, "virtual tables may not be altered");
    sqlite3ErrorMsg(pParse, "Cannot add a column to a view");
    sqlite3ErrorMsg(pParse, "cannot %s %s \"%s\"",
    sqlite3ErrorMsg(pParse, "no such column: \"%T\"", pOld);
    sqlite3ErrorMsg(pParse, "no such column: \"%T\"", pName);
    sqlite3ErrorMsg(pParse, "cannot drop %s column: \"%s\"",
    sqlite3ErrorMsg(pParse, "cannot drop column \"%s\": no other columns exist",zCol);
  sqlite3ErrorMsg(pParse, "authorizer malfunction");
    sqlite3ErrorMsg(pParse, "access to %z is prohibited", z);
    sqlite3ErrorMsg(pParse, "not authorized");
        sqlite3ErrorMsg(pParse, "user not authenticated");
      sqlite3ErrorMsg(pParse, "%s: %s.%s", zMsg, zDbase, zName);
      sqlite3ErrorMsg(pParse, "%s: %s", zMsg, zName);
      sqlite3ErrorMsg(pParse, "corrupt database");
      sqlite3ErrorMsg(pParse, "unknown database %T", pName1);
      sqlite3ErrorMsg(pParse, ""); /* corruptSchema() will supply the error */
      sqlite3ErrorMsg(pParse, "object name reserved for internal use: %s",
      sqlite3ErrorMsg(pParse, "temporary table name must be unqualified");
        sqlite3ErrorMsg(pParse, "%s %T already exists",
      sqlite3ErrorMsg(pParse, "there is already an index named %s", zName);
    sqlite3ErrorMsg(pParse, "cannot use RETURNING in a trigger");
    sqlite3ErrorMsg(pParse, "too many columns on %s", p->zName);
      sqlite3ErrorMsg(pParse, "duplicate column name: %s", z); // <--
      sqlite3ErrorMsg(pParse, "default value of column [%s] is not constant",
      sqlite3ErrorMsg(pParse, "cannot use DEFAULT on a generated column");
    sqlite3ErrorMsg(pParse, "AUTOINCREMENT is only allowed on an "
    sqlite3ErrorMsg(pParse, "virtual tables cannot use computed columns");
  sqlite3ErrorMsg(pParse, "error in generated column \"%s\"",
  sqlite3ErrorMsg(pParse, "generated columns not supported");
      sqlite3ErrorMsg(pParse, "");
          sqlite3ErrorMsg(pParse, "missing datatype for %s.%s",
      sqlite3ErrorMsg(pParse, "PRIMARY KEY missing on table %s", p->zName);
      sqlite3ErrorMsg(pParse, "must have at least one non-generated column");
    sqlite3ErrorMsg(pParse, "parameters are not allowed in views");
    sqlite3ErrorMsg(pParse, "view %s is circularly defined", pTable->zName);
  if( iTable<2 ) sqlite3ErrorMsg(pParse, "corrupt schema");
    sqlite3ErrorMsg(pParse, "table %s may not be dropped", pTab->zName);
    sqlite3ErrorMsg(pParse, "use DROP TABLE to delete table %s", pTab->zName);
    sqlite3ErrorMsg(pParse, "use DROP VIEW to delete view %s", pTab->zName);
      sqlite3ErrorMsg(pParse, "foreign key on %s"
        sqlite3ErrorMsg(pParse, "unsupported use of NULLS %s",
    sqlite3ErrorMsg(pParse, "table %s may not be indexed", pTab->zName);
    sqlite3ErrorMsg(pParse, "views may not be indexed");
    sqlite3ErrorMsg(pParse, "virtual tables may not be indexed");
          sqlite3ErrorMsg(pParse, "there is already a table named %s", zName);
          sqlite3ErrorMsg(pParse, "index %s already exists", zName);
        sqlite3ErrorMsg(pParse, "expressions prohibited in PRIMARY KEY and "
          sqlite3ErrorMsg(pParse, "invalid rootpage");
      sqlite3ErrorMsg(pParse, "no such index: %S", pName->a);
    sqlite3ErrorMsg(pParse, "index associated with UNIQUE "
      sqlite3ErrorMsg(pParse, "too many FROM clause terms, max: %d",
    sqlite3ErrorMsg(pParse, "a JOIN clause is required before %s",
      sqlite3ErrorMsg(pParse, "unable to open a temporary database "
  sqlite3ErrorMsg(pParse, "unable to identify the object to be reindexed");
        sqlite3ErrorMsg(pParse, "duplicate WITH table name: %s", zName);
    sqlite3ErrorMsg(pParse, "no such collation sequence: %s", zName);
    sqlite3ErrorMsg(pParse, "table %s may not be modified", pTab->zName);
    sqlite3ErrorMsg(pParse, "ORDER BY without LIMIT on %s", zStmtType);
    sqlite3ErrorMsg(pParse, "generated column loop on \"%s\"", pRedo->zCnName);
          sqlite3ErrorMsg(pParse, "table %S has no column named %s",
    sqlite3ErrorMsg(pParse, "%d values for %d columns", nColumn, pColumn->nId);
      sqlite3ErrorMsg(pParse, "UPSERT not implemented for virtual table \"%s\"",
      sqlite3ErrorMsg(pParse, "cannot UPSERT a view");
      sqlite3ErrorMsg(pParse, "temporary storage cannot be changed "
      sqlite3ErrorMsg(pParse, "%s", aFcntl[0]);
          sqlite3ErrorMsg(pParse, "not a writable directory");
          sqlite3ErrorMsg(pParse, "not a writable directory");
        sqlite3ErrorMsg(pParse, "failed to set lock proxy file");
          sqlite3ErrorMsg(pParse, "unsupported encoding: %s", zRight);
  if( db->mallocFailed ) sqlite3ErrorMsg(pParse, "out of memory");
    sqlite3ErrorMsg(pParse, "unknown join type: "
        sqlite3ErrorMsg(pParse, "a NATURAL join may not have "
          sqlite3ErrorMsg(pParse, "cannot join using column %s - column "
              sqlite3ErrorMsg(pParse, "ambiguous reference to %s in USING()",
    sqlite3ErrorMsg(pParse, "cannot use window functions in recursive queries");
      sqlite3ErrorMsg(pParse, "recursive aggregate queries not supported");
    sqlite3ErrorMsg(pParse, "all VALUES must have the same number of terms");
    sqlite3ErrorMsg(pParse, "SELECTs to the left and right of %s"
    sqlite3ErrorMsg(pParse, "no such index: %s", zIndexedBy, 0);
    sqlite3ErrorMsg(pParse, "'%s' is not a function", pFrom->zName);
      sqlite3ErrorMsg(pParse, "no such index: \"%s\"", pFrom->u1.zIndexedBy);
        sqlite3ErrorMsg(pParse, "table %s has %d values for %d columns",
        sqlite3ErrorMsg(pParse, "too many references to \"%s\": max 65535",
            sqlite3ErrorMsg(pParse, "access to view \"%s\" prohibited",
          sqlite3ErrorMsg(pParse, "unsafe use of virtual table \"%s\"",
            sqlite3ErrorMsg(pParse, "no such table: %s", zTName);
            sqlite3ErrorMsg(pParse, "no tables specified");
      sqlite3ErrorMsg(pParse, "too many columns in result set");
        sqlite3ErrorMsg(pParse, "DISTINCT aggregates must have exactly one "
      sqlite3ErrorMsg(pParse, "expected %d columns for '%s' but got %d",
      sqlite3ErrorMsg(pParse, "temporary trigger may not have qualified name");
    sqlite3ErrorMsg(pParse, "cannot create triggers on virtual tables");
        sqlite3ErrorMsg(pParse, "trigger %T already exists", pName);
    sqlite3ErrorMsg(pParse, "cannot create trigger on system table");
    sqlite3ErrorMsg(pParse, "cannot create %s trigger on view: %S",
    sqlite3ErrorMsg(pParse, "cannot create INSTEAD OF"
      sqlite3ErrorMsg(pParse, "no such trigger: %S", pName->a);
  sqlite3ErrorMsg(pParse, "RETURNING may not use \"TABLE.*\" wildcards");
    sqlite3ErrorMsg(pParse, "ORDER BY without LIMIT on UPDATE");
        sqlite3ErrorMsg(pParse, "no such column: %s", pChanges->a[i].zEName);
      sqlite3ErrorMsg(pParse, "%sON CONFLICT clause does not match any "
    sqlite3ErrorMsg(pParse, "too many columns on %s", pTable->zName);
    sqlite3ErrorMsg(pParse, "no such module: %s", zModule);
      sqlite3ErrorMsg(pParse, "%s", zErr);
    sqlite3ErrorMsg(pParse, "%s", zErr);
        sqlite3ErrorMsg(pParse, "ON clause references tables to its right");
        sqlite3ErrorMsg(pParse, "ON clause references tables to its right");
      sqlite3ErrorMsg(pParse, "too many arguments on %s() - max %d",
    sqlite3ErrorMsg(pParse, "out of memory");
      sqlite3ErrorMsg(pParse, "%s", sqlite3ErrStr(rc));
      sqlite3ErrorMsg(pParse, "%s", pVtab->zErrMsg);
    sqlite3ErrorMsg(pParse, "no query solution");
    sqlite3ErrorMsg(pParse, "at most %d tables in a join", BMS);
    sqlite3ErrorMsg(pParse, "no such window: %s", zName);
    sqlite3ErrorMsg(pParse, "unsupported frame specification");
    sqlite3ErrorMsg(pParse, "syntax error near \"ORDER BY\"");
    sqlite3ErrorMsg(pParse, "syntax error near \"LIMIT\"");
        sqlite3ErrorMsg(pParse, "too many terms in compound SELECT");
      sqlite3ErrorMsg(pParse, "syntax error after column name \"%.*s\"",
  sqlite3ErrorMsg(pParse, "parser stack overflow");
    sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z);
    sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z);
      sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t);
    sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN);
    sqlite3ErrorMsg(pParse, "incomplete input");
        sqlite3ErrorMsg(pParse, "unrecognized token: \"%T\"", &x);

gwenn avatar Oct 10 '22 18:10 gwenn