On 6/4/15, Darko Volaric <lists at darko.org> wrote: > My point about JSON, etc is that there is no reason not to use that as a > query language if that makes it easier. If your system is efficient with > JSON, why not accept a query that is formatted as JSON? It's not > semantically different to SQL syntax. Here's an example (with a roughly > JSON notation): > > { > operation: "insert" > table: "blah" > columns: ["a", "b", "c"] > values: [1.3, 2.0, 3.1] > on-conflict: "replace" > } > > That is equivalent to an INSERT SQL statement, but why form that SQL > string, possibly using memory and time, when your system can spit out JSON > (or whatever) effortlessly?
What is the JSON equivalent to the query shown below? Can you honestly say that the JSON equivalent (whatever it looks like) is somehow easier to generate, read, parse, and/or debug than the SQL? SELECT sp.name, st.bug_name, (SELECT cve_desc FROM nvd_data WHERE cve_name = st.bug_name), (SELECT debian_cve.bug FROM debian_cve WHERE debian_cve.bug_name = st.bug_name ORDER BY debian_cve.bug), sp.release, sp.subrelease, sp.version, (SELECT pn.fixed_version FROM package_notes AS pn WHERE pn.bug_name = st.bug_name AND pn.package = sp.name AND(pn.release = sp.release OR (pn.release = '' AND fixed_version != ''))), st.vulnerable, st.urgency, (SELECT range_remote FROM nvd_data WHERE cve_name = st.bug_name), (SELECT comment FROM package_notes_nodsa AS nd WHERE nd.package = sp.name AND nd.release = sp.release AND nd.bug_name = st.bug_name) AS nodsa FROM source_package_status AS st, source_packages AS sp, bugs WHERE sp.rowid = st.package AND st.bug_name = bugs.name AND ( st.bug_name LIKE 'CVE-%' OR st.bug_name LIKE 'TEMP-%' ) AND ( sp.release = 'sid' OR sp.release = 'stretch' OR sp.release = 'jessie' OR sp.release = 'wheezy' OR sp.release = 'squeeze' ) ORDER BY sp.name, st.bug_name, sp.release, sp.subrelease; -- D. Richard Hipp drh at sqlite.org