MCPcopy Create free account
hub / github.com/chartbrew/chartbrew / SqlBuilder

Function SqlBuilder

client/src/sources/shared/sql/sql-builder.jsx:47–642  ·  view source on GitHub ↗
(props)

Source from the content-addressed store, hash-verified

45 The query builder for Mysql and Postgres
46*/
47function SqlBuilder(props) {
48 const {
49 dataRequest, onChangeRequest, onSave,
50 connection: initialConnection,
51 onDelete,
52 } = props;
53
54 const [sqlRequest, setSqlRequest] = useState({
55 query: "SELECT * FROM users WHERE created_at > {{start_date}} AND status = {{user_status}};",
56 });
57 const [savedQuery, setSavedQuery] = useState(null);
58 const [savedQuerySummary, setSavedQuerySummary] = useState("");
59 const [saveQueryModal, setSaveQueryModal] = useState(false);
60 const [savingQuery, setSavingQuery] = useState(false);
61 const [updatingSavedQuery, setUpdatingSavedQuery] = useState(false);
62 const [, setRequestSuccess] = useState(false);
63 const [requestLoading, setRequestLoading] = useState(false);
64 const [requestError, setRequestError] = useState("");
65 const [result, setResult] = useState("");
66 const [invalidateCache, setInvalidateCache] = useState(false);
67 const [saveLoading, setSaveLoading] = useState(false);
68 const [activeTab, setActiveTab] = useState("sql");
69 const [activeResultsTab, setActiveResultsTab] = useState("table");
70 const [showTransform, setShowTransform] = useState(false);
71 const [variableSettings, setVariableSettings] = useState(null);
72 const [variableLoading, setVariableLoading] = useState(false);
73
74 const { isDark } = useTheme();
75 const params = useParams();
76 const dispatch = useDispatch();
77 const stateDrs = useSelector((state) => selectDataRequests(state, params.datasetId));
78 const storedConnection = useSelector((state) => state.connection.data.find((c) => c.id === dataRequest?.connection_id));
79 const team = useSelector(selectTeam);
80 const connection = storedConnection?.id ? { ...initialConnection, ...storedConnection } : initialConnection;
81
82 const schemaInitRef = useRef(false);
83
84 useEffect(() => {
85 if (dataRequest) {
86 setSqlRequest({ ...sqlRequest, ...dataRequest });
87 }
88 }, []);
89
90 useEffect(() => {
91 onChangeRequest(sqlRequest);
92 }, [sqlRequest]);
93
94 useEffect(() => {
95 if (stateDrs && stateDrs.length > 0) {
96 const selectedResponse = stateDrs.find((o) => o.id === sqlRequest.id);
97 if (selectedResponse?.response) {
98 setResult(JSON.stringify(selectedResponse.response, null, 2));
99 }
100 }
101 }, [stateDrs, sqlRequest]);
102
103 useEffect(() => {
104 if (requestError) {

Callers

nothing calls this directly

Calls 5

useThemeFunction · 0.90
selectDataRequestsFunction · 0.90
_onTestFunction · 0.70
_onSavePressedFunction · 0.70
_onChangeQueryFunction · 0.70

Tested by

no test coverage detected