(window.webpackJsonp=window.webpackJsonp||[]).push([[57],{"1J4g":function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return u})),a.d(t,"default",(function(){return c}));var n=a("k1TG"),s=a("8o2o"),r=(a("q1tI"),a("7ljp")),o=a("hhGP"),u=(a("qKvR"),{});void 0!==u&&u&&u===Object(u)&&Object.isExtensible(u)&&!u.hasOwnProperty("__filemeta")&&Object.defineProperty(u,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/Miscellaneous/issue_codes.mdx"}});var i=o.a;function c(e){var t=e.components,a=Object(s.a)(e,["components"]);return Object(r.b)(i,Object(n.a)({},a,{components:t,mdxType:"MDXLayout"}),Object(r.b)("h1",{id:"issue-code-reference"},"Issue Code Reference"),Object(r.b)("p",null,"This page lists issue codes that may be displayed in\nSuperset and provides additional context."),Object(r.b)("h2",{id:"issue-1000"},"Issue 1000"),Object(r.b)("pre",null,Object(r.b)("code",{parentName:"pre"},"The datasource is too large to query.\n")),Object(r.b)("p",null,"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."),Object(r.b)("h2",{id:"issue-1001"},"Issue 1001"),Object(r.b)("pre",null,Object(r.b)("code",{parentName:"pre"},"The database is under an unusual load.\n")),Object(r.b)("p",null,"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."),Object(r.b)("h2",{id:"issue-1002"},"Issue 1002"),Object(r.b)("pre",null,Object(r.b)("code",{parentName:"pre"},"The database returned an unexpected error.\n")),Object(r.b)("p",null,"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."))}void 0!==c&&c&&c===Object(c)&&Object.isExtensible(c)&&!c.hasOwnProperty("__filemeta")&&Object.defineProperty(c,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Miscellaneous/issue_codes.mdx"}}),c.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-miscellaneous-issue-codes-mdx-bd22d4340681e5f3e728.js.map