Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing checks #16

Open
gwenn opened this issue Oct 10, 2022 · 0 comments
Open

Missing checks #16

gwenn opened this issue Oct 10, 2022 · 0 comments

Comments

@gwenn
Copy link
Owner

gwenn commented Oct 10, 2022

% 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 gwenn pinned this issue Mar 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant