{"version":3,"sources":["webpack:///./src/pages/docs/Miscellaneous/issue_codes.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"0PAQaA,G,UAAe,S,8NAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,wBADR,wBAGA,wHAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMC,WAAW,OAAU,IAA3B,4CAEL,uPAIA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,6CAEL,6MAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,iDAEL,sUAKA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,2FAEL,2MAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,yDAEL,2OAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,wDAEL,6LAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,iEAEL,sSAIA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,+CAEL,mKAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,0BAEL,+LAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,0EAEL,oOAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,6DAEL,2JAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,gDAEL,wHAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,wEAEL,wKAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,wEAEL,4HAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,8DAEL,gLAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,oEAEL,6HACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,yDAEL,uHACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,8EAEL,+JACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,yEAEL,kLACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,sDAEL,iGACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,sDAEL,uFACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,yEAEL,+LACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,iDAEL,6BAAY,0BAAYA,WAAW,KAAvB,UAAZ,wJACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,gFAEL,qLACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,sEAEL,mNACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,oEAEL,2LACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,sDAEL,iRACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,0DAEL,sKACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,sEAEL,mPACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,kDAEL,0FACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,gDAEL,yFACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,iEAEL,iJACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,yDAEL,iHACA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,8GAEL,+H,4NAKJJ,EAAWK,gBAAiB","file":"component---src-pages-docs-miscellaneous-issue-codes-mdx-61df85fdd64bf0cb3bf7.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h1 {...{\n      \"id\": \"issue-code-reference\"\n    }}>{`Issue Code Reference`}</h1>\n    <p>{`This page lists issue codes that may be displayed in\nSuperset and provides additional context.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1000\"\n    }}>{`Issue 1000`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The datasource is too large to query.\n`}</code></pre>\n    <p>{`It's likely your datasource has grown too large to run the current\nquery, and is timing out. You can resolve this by reducing the\nsize of your datasource or by modifying your query to only process a\nsubset of your data.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1001\"\n    }}>{`Issue 1001`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The database is under an unusual load.\n`}</code></pre>\n    <p>{`Your query may have timed out because of unusually high load on the\ndatabase engine. You can make your query simpler, or wait until the\ndatabase is under less load and try again.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1002\"\n    }}>{`Issue 1002`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The database returned an unexpected error.\n`}</code></pre>\n    <p>{`Your query failed because of an error that occurred on the database.\nThis may be due to a syntax error, a bug in your query, or some other\ninternal failure within the database. This is usually not an\nissue within Superset, but instead a problem with the underlying\ndatabase that serves your query.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1003\"\n    }}>{`Issue 1003`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`There is a syntax error in the SQL query. Perhaps there was a misspelling or a typo.\n`}</code></pre>\n    <p>{`Your query failed because of a syntax error within the underlying query. Please\nvalidate that all columns or tables referenced within the query exist and are spelled\ncorrectly.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1004\"\n    }}>{`Issue 1004`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The column was deleted or renamed in the database.\n`}</code></pre>\n    <p>{`Your query failed because it is referencing a column that no longer exists in\nthe underlying datasource. You should modify the query to reference the\nreplacement column, or remove this column from your query.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1005\"\n    }}>{`Issue 1005`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The table was deleted or renamed in the database.\n`}</code></pre>\n    <p>{`Your query failed because it is referencing a table that no longer exists in\nthe underlying database. You should modify your query to reference the correct\ntable.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1006\"\n    }}>{`Issue 1006`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`One or more parameters specified in the query are missing.\n`}</code></pre>\n    <p>{`Your query was not submitted to the database because it's missing one or more\nparameters. You should define all the parameters referenced in the query in a\nvalid JSON document. Check that the parameters are spelled correctly and that\nthe document has a valid syntax.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1007\"\n    }}>{`Issue 1007`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The hostname provided can't be resolved.\n`}</code></pre>\n    <p>{`The hostname provided when adding a new database is invalid and cannot be\nresolved. Please check that there are no typos in the hostname.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1008\"\n    }}>{`Issue 1008`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The port is closed.\n`}</code></pre>\n    <p>{`The port provided when adding a new database is not open. Please check that\nthe port number is correct, and that the database is running and listening on\nthat port.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1009\"\n    }}>{`Issue 1009`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The host might be down, and cannot be reached on the provided port.\n`}</code></pre>\n    <p>{`The host provided when adding a new database doesn't seem to be up.\nAdditionally, it cannot be reached on the provided port. Please check that\nthere are no firewall rules preventing access to the host.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1010\"\n    }}>{`Issue 1010`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`Superset encountered an error while running a command.\n`}</code></pre>\n    <p>{`Something unexpected happened, and Superset encountered an error while\nrunning a command. Please reach out to your administrator.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1011\"\n    }}>{`Issue 1011`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`Superset encountered an unexpected error.\n`}</code></pre>\n    <p>{`Something unexpected happened in the Superset backend. Please reach out\nto your administrator.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1012\"\n    }}>{`Issue 1012`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The username provided when connecting to a database is not valid.\n`}</code></pre>\n    <p>{`The user provided a username that doesn't exist in the database. Please check\nthat the username is typed correctly and exists in the database.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1013\"\n    }}>{`Issue 1013`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The password provided when connecting to a database is not valid.\n`}</code></pre>\n    <p>{`The user provided a password that is incorrect. Please check that the\npassword is typed correctly.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1014\"\n    }}>{`Issue 1014`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`Either the username or the password used are incorrect.\n`}</code></pre>\n    <p>{`Either the username provided does not exist or the password was written incorrectly. Please\ncheck that the username and password were typed correctly.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1015\"\n    }}>{`Issue 1015`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`Either the database is spelled incorrectly or does not exist.\n`}</code></pre>\n    <p>{`Either the database was written incorrectly or it does not exist. Check that it was typed correctly.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1016\"\n    }}>{`Issue 1016`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The schema was deleted or renamed in the database.\n`}</code></pre>\n    <p>{`The schema was either removed or renamed. Check that the schema is typed correctly and exists.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1017\"\n    }}>{`Issue 1017`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The user doesn't have the proper permissions to connect to the database\n`}</code></pre>\n    <p>{`We were unable to connect to your database. Please confirm that your service account has the Viewer and Job User roles on the project.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1018\"\n    }}>{`Issue 1018`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`One or more parameters needed to configure a database are missing.\n`}</code></pre>\n    <p>{`Not all parameters required to test, create, or edit a database were present. Please double check which parameters are needed, and that they are present.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1019\"\n    }}>{`Issue 1019`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The submitted payload has the incorrect format.\n`}</code></pre>\n    <p>{`Please check that the request payload has the correct format (eg, JSON).`}</p>\n    <h2 {...{\n      \"id\": \"issue-1020\"\n    }}>{`Issue 1020`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The submitted payload has the incorrect schema.\n`}</code></pre>\n    <p>{`Please check that the request payload has the expected schema.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1021\"\n    }}>{`Issue 1021`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`Results backend needed for asynchronous queries is not configured.\n`}</code></pre>\n    <p>{`Your instance of Superset doesn't have a results backend configured, which is needed for asynchronous queries. Please contact an administrator for further assistance.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1022\"\n    }}>{`Issue 1022`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`Database does not allow data manipulation.\n`}</code></pre>\n    <p>{`Only `}<inlineCode parentName=\"p\">{`SELECT`}</inlineCode>{` statements are allowed against this database. Please contact an administrator if you need to run DML (data manipulation language) on this database.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1023\"\n    }}>{`Issue 1023`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`CTAS (create table as select) doesn't have a SELECT statement at the end.\n`}</code></pre>\n    <p>{`The last statement in a query run as CTAS (create table as select) MUST be a SELECT statement. Please make sure the last statement in the query is a SELECT.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1024\"\n    }}>{`Issue 1024`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`CVAS (create view as select) query has more than one statement.\n`}</code></pre>\n    <p>{`When running a CVAS (create view as select) the query should have a single statement. Please make sure the query has a single statement, and no extra semi-colons other than the last one.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1025\"\n    }}>{`Issue 1025`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`CVAS (create view as select) query is not a SELECT statement.\n`}</code></pre>\n    <p>{`When running a CVAS (create view as select) the query should be a SELECT statement. Please make sure the query has a single statement and it's a SELECT statement.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1026\"\n    }}>{`Issue 1026`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`Query is too complex and takes too long to run.\n`}</code></pre>\n    <p>{`The submitted query might be too complex to run under the time limit defined by your Superset administrator. Please double check your query and verify if it can be optimized. Alternatively, contact your administrator to increase the timeout period.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1027\"\n    }}>{`Issue 1027`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The database is currently running too many queries.\n`}</code></pre>\n    <p>{`The database might be under heavy load, running too many queries. Please try again later, or contact an administrator for further assistance.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1028\"\n    }}>{`Issue 1028`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`One or more parameters specified in the query are malformatted.\n`}</code></pre>\n    <p>{`The query contains one or more malformed template parameters. Please check your query and confirm that all template parameters are surround by double braces, for example, \"{{ ds }}\". Then, try running your query again.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1029\"\n    }}>{`Issue 1029`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The object does not exist in this database.\n`}</code></pre>\n    <p>{`Either the schema, column, or table do not exist in the database.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1030\"\n    }}>{`Issue 1030`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The query potentially has a syntax error.\n`}</code></pre>\n    <p>{`The query might have a syntax error. Please check and run again.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1031\"\n    }}>{`Issue 1031`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The results backend no longer has the data from the query.\n`}</code></pre>\n    <p>{`The results from the query might have been deleted from the results backend after some period. Please re-run your query.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1032\"\n    }}>{`Issue 1032`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The query associated with the results was deleted.\n`}</code></pre>\n    <p>{`The query associated with the stored results no longer exists. Please re-run your query.`}</p>\n    <h2 {...{\n      \"id\": \"issue-1033\"\n    }}>{`Issue 1033`}</h2>\n    <pre><code parentName=\"pre\" {...{}}>{`The results stored in the backend were stored in a different format, and no longer can be deserialized.\n`}</code></pre>\n    <p>{`The query results were stored in a format that is no longer supported. Please re-run your query.`}</p>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}