{"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-f5b5827fa22251991f74.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/evan/GitHub/incubator-superset_preset/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":""}