{"version":3,"sources":["webpack:///./src/pages/docs/Miscellaneous/issue_codes.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"0PAMaA,G,UAAe,S,8NAE5B,IAKMC,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeI,EAAf,CAAsBD,WAAYA,EAAYE,QAAQ,cAC3D,iBAAQ,CACN,GAAM,wBADR,wBAGA,wHAEA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,mBAAU,CACX,WAAc,OADb,4CAIL,uPAIA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,mBAAU,CACX,WAAc,OADb,6CAIL,6MAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,mBAAU,CACX,WAAc,OADb,iDAIL,sUAKA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,mBAAU,CACX,WAAc,OADb,2FAIL,2MAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,mBAAU,CACX,WAAc,OADb,yDAIL,2OAGA,iBAAQ,CACN,GAAM,cADR,cAGA,uBAAK,mBAAU,CACX,WAAc,OADb,wDAIL,mM,4NAOJH,EAAWI,gBAAiB","file":"component---src-pages-docs-miscellaneous-issue-codes-mdx-026b823eb6d8e76de9ed.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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 {...{\n        \"parentName\": \"pre\"\n      }}>{`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\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}