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