Czym jest wspólna edycja SQL?

Wspólna edycja SQL pozwala kilku osobom jednocześnie pisać i przeglądać zapytania, każdej we własnej przeglądarce. Przydaje się do tworzenia zapytania ze współpracownikiem, wspólnego przeglądania migracji lub nauki SQL — bez udostępniania ekranu ani wklejania zapytań na czacie.

Aby kopie tekstu u wszystkich były identyczne, zmiany są przesyłane jako niewielkie poprawki, a nie cały tekst, a o ich kolejności decyduje jeden serwer. Zmiany wprowadzone w tym samym momencie są do siebie dostosowywane, dzięki czemu obie zostają zachowane.

Opis narzędzia

To narzędzie jest współdzielonym edytorem SQL z podświetlaniem składni. Otwórz go i wyślij link — wszyscy w pokoju edytują te same zapytania w czasie rzeczywistym, widzą nawzajem swoje kursory i mogą jednym kliknięciem sprawdzać poprawność, formatować lub minimalizować kod SQL dla wszystkich.

Walidacja analizuje składnię SQL za pomocą node-sql-parser. Formatowanie umieszcza każdą główną klauzulę (SELECT, FROM, WHERE, JOIN itd.) w osobnym wierszu, nie zmieniając ciągów znaków ani komentarzy, a minimalizacja umieszcza zapytanie w jednym wierszu. Nowy tekst zastępuje tylko zmienione wiersze, więc to, co w międzyczasie wpisują inni, pozostaje na swoim miejscu.

Funkcje

  • Edycja w czasie rzeczywistym — zmiany wprowadzane przez wszystkich pojawiają się natychmiast i są łączone, gdy kilka osób pisze w tym samym momencie
  • Kursory i zaznaczenia — widzisz, gdzie znajduje się każda osoba; kolor kursora jest widoczny obok jej imienia
  • Sprawdzanie poprawności — sprawdza, czy składnia SQL jest poprawna, a jeśli nie, wyświetla komunikat analizatora składni
  • Formatowanie i minimalizacja — porządkuje zapytanie według klauzul albo umieszcza je w jednym wierszu dla wszystkich osób w pokoju
  • Kopiowanie i pobieranie — zachowaj kopię zapytań jako plik .sql

Jak to działa

Po otwarciu strony tworzony jest pokój na serwerze synchronizacji, a jego link pojawia się na pasku adresu. Każda osoba, która otworzy link, dołącza do tego samego pokoju i widzi ten sam dokument.

Każda zmiana jest wysyłana do serwera jako krótki opis tego, co się zmieniło — które znaki i w którym miejscu zostały wstawione lub usunięte — zamiast przesyłania całego tekstu. Serwer ustala kolejność zmian wprowadzonych przez wszystkich, przesuwa zmianę dokonaną na starszej wersji za zmiany, które pojawiły się wcześniej, a następnie przekazuje wynik pozostałym osobom. Własne wpisywane zmiany są widoczne od razu, a zmiany innych osób są z nimi scalane, dzięki czemu niczyj tekst nie ginie, gdy dwie osoby edytują dokument w tym samym momencie.

Dokument jest przechowywany wyłącznie w pamięci serwera, dopóki pokój pozostaje otwarty. Po ponownym załadowaniu strony wracasz do pokoju z tekstem w takim stanie, w jakim był wcześniej; gdy wszyscy opuszczą pokój, pokój i jego tekst zostaną usunięte.

Ograniczenia

  • W pokoju może przebywać maksymalnie 20 osób, a tekst może mieć maksymalnie 100 000 znaków.
  • Po zamknięciu pokoju nic nie jest przechowywane. Pobierz tekst, zanim opuści go ostatnia osoba.
  • Bardzo szybkie lub bardzo duże zmiany, takie jak wielokrotne wklejanie całego dokumentu pod rząd, są odrzucane, a edytor ponownie wczytuje tekst pokoju.
  • Otwarcie linku do pokoju w innym edytorze współpracy (na przykład pokoju SQL w edytorze JavaScript) wyświetla komunikat „Nie znaleziono pokoju” — każdy pokój jest przypisany do jednego języka.
  • Walidacja sprawdza wyłącznie składnię. Zapytania nigdy nie są wykonywane na bazie danych.