Mitä on SQL:n yhteismuokkaus?

SQL:n yhteismuokkauksen avulla useat ihmiset voivat kirjoittaa ja tarkastella kyselyitä samanaikaisesti, kukin omassa selaimessaan. Se on kätevä tapa työstää kyselyä yhdessä kollegan kanssa, tarkastella migraatiota yhdessä tai opettaa SQL:ää ilman näytön jakamista tai kyselyiden liittämistä keskusteluun.

Jotta kaikilla olisi sama versio, muutokset välitetään pieninä muokkauksina koko tekstin sijaan, ja yksi palvelin päättää niiden soveltamisjärjestyksen. Samanaikaisesti tehdyt muokkaukset sovitetaan yhteen, jotta molemmat säilyvät.

Työkalun kuvaus

Tämä työkalu on jaettu SQL-editori, jossa on syntaksin korostus. Avaa se ja lähetä linkki: kaikki huoneessa olevat muokkaavat samoja kyselyitä reaaliajassa, näkevät toistensa kohdistimet ja voivat tarkistaa, muotoilla tai tiivistää SQL:n kaikkien puolesta yhdellä napsautuksella.

Tarkistus jäsentää SQL:n node-sql-parserilla. Muotoilu asettaa jokaisen tärkeän lausekkeen (SELECT, FROM, WHERE, JOIN ja niin edelleen) omalle rivilleen koskematta merkkijonoihin ja kommentteihin, ja tiivistäminen asettaa kyselyn yhdelle riville. Uusi teksti korvaa vain muuttuneet rivit, joten muiden sillä välin kirjoittama teksti pysyy paikallaan.

Ominaisuudet

  • Reaaliaikainen muokkaus – kaikkien tekemät muutokset näkyvät heti ja yhdistyvät, kun ihmiset kirjoittavat samanaikaisesti
  • Kohdistimet ja valinnat – näet, missä kukin on, sekä hänen nimensä vieressä näkyvän värin
  • Tarkistus – tarkistaa, että SQL:n syntaksi on kelvollinen, ja näyttää jäsentimen viestin, jos näin ei ole
  • Muotoilu ja tiivistäminen – asettele kysely lauseke kerrallaan tai tiivistä se yhdelle riville kaikkien huoneessa olevien puolesta
  • Kopiointi ja lataaminen – säilytä kyselyistä kopio .sql-tiedostona

Näin se toimii

Kun sivu avataan, se luo synkronointipalvelimelle huoneen ja lisää sen linkin osoiteriville. Kaikki linkin avaavat liittyvät samaan huoneeseen ja näkevät saman dokumentin.

Jokainen muutos lähetetään palvelimelle pienenä kuvauksena siitä, mitä muuttui – mitkä merkit lisättiin tai poistettiin ja mistä – koko tekstin sijaan. Palvelin asettaa kaikkien tekemät muutokset samaan järjestykseen, siirtää vanhempaan versioon perustuvan muutoksen aiemmin tehtyjen muutosten jälkeen ja välittää tuloksen kaikille muille. Oma kirjoittamisesi näkyy heti, ja muiden tekemät muutokset yhdistetään sen ympärille, joten kenenkään kirjoittama teksti ei katoa, kun kaksi ihmistä muokkaa samaan aikaan.

Dokumentti säilytetään vain palvelimen muistissa huoneen ollessa avoinna. Jos lataat sivun uudelleen, pääset takaisin huoneeseen ja teksti on ennallaan. Kun kaikki ovat poistuneet, huone ja sen teksti katoavat.

Rajoitukset

  • Huoneessa voi olla enintään 20 ihmistä ja 100 000 merkkiä.
  • Mitään ei tallenneta huoneen sulkeuduttua. Lataa teksti ennen kuin viimeinen henkilö poistuu.
  • Erittäin nopeat tai suuret muutokset, kuten koko dokumentin liittäminen monta kertaa peräkkäin, hylätään, ja editori lataa huoneen tekstin uudelleen.
  • Jos avaat huonelinkin toisessa yhteismuokkauseditorissa (esimerkiksi SQL-huoneen JavaScript-editorissa), näet ilmoituksen ”Huonetta ei löydy”: jokainen huone kuuluu yhdelle kielelle.
  • Tarkistus koskee vain syntaksia. Kyselyitä ei koskaan suoriteta tietokantaa vasten.