SQL Playground in CoCo Desktop
SQL Playground in CoCo Desktop (CoCo Desktop의 SQL Playground)
SQL Playground는 CoCo Desktop의 Agent Manager 오른쪽(RHS) 패널에 있는 내장 SQL 스크래치 편집기예요. 채팅 뷰를 떠나지 않고 활성 Snowflake 연결에 임시 SQL을 작성·실행·반복하기 위한 가벼운 표면을 제공해요.
본문
플레이그라운드는 현재 보고 있는 대화를 소유한 워크스페이스에 범위가 정해진 시트(sheet)들로 구성돼요. 각 워크스페이스는 sheets 사이드바에 자체 .sql 워크시트 집합을 유지하며, 새 시트를 만들고, 이름을 바꾸고, 삭제하고, 드래그 앤 드롭으로 재배열할 수 있어요. 워크스페이스를 다시 열면 그 시트들과 마지막 커서 위치, 레이아웃이 함께 돌아와요.
에이전트와 대화하면서 쿼리를 초안 작성하고, 에이전트가 제안한 문장을 실행하고, 워크플로에 다시 피드할 결과를 실험하는 데 플레이그라운드를 사용해요.
참고
SQL Playground는 일시적인 스크래치 표면이지 워크스페이스 파일이 아니에요. 완전한 편집기 기능(다중 파일 편집, 소스 제어, 디스크 대비 오염 상태 추적)이 필요하면 Open in Editor 동작으로 버퍼를 일반 편집기 탭에 띄워요.
사전 요구사항
- CoCo Desktop이 설치되고 로그인되어 있어요.
- 채팅 대화에 바인딩된 활성 Snowflake 연결. 플레이그라운드는 에이전트가 그 대화에 사용하는 것과 같은 연결로 쿼리를 제출해요.
- CoCo Desktop에서 열린 채팅 대화. 시트와 쿼리 기록은 현재 보고 있는 대화를 소유한 워크스페이스에 범위가 정해져요.
SQL Playground 열기
플레이그라운드는 Agent Manager RHS 영역의 패널 중 하나예요. 열려면:
- Agent Manager RHS 도구 모음에서 SQL Playground 아이콘을 클릭하거나,
- Command Palette에서 Open SQL Playground 명령을 실행하거나,
- 에이전트가 대신 열게 해요. 도구가 SQL을 만들면 결과에서 Open in SQL Playground를 클릭해 그 쿼리를 편집기로 밀어 넣을 수 있어요.
패널이 채팅 옆에 슬라이드되며 들어와요. 다른 워크스페이스의 대화로 전환하면 그 워크스페이스의 시트로 바뀌고, 다시 돌아오면 이전 집합이 복원돼요.
패널 구조
SQL Playground 패널에는 네 영역이 있어요.
- 상단 도구 모음: 다음을 포함해요.
- Run 버튼 — 커서의 SQL 문장을 실행해요(⌘Enter, Windows/Linux는 Ctrl+Enter).
- More Run Options 드롭다운 — 현재 Run All을 노출해요. 버퍼의 모든 문장을 위에서 아래로 실행해요.
- Hide Results Panel / Show Results Panel 토글 — 결과 창을 접거나 복원해요. 이전 분할 비율을 기억해요.
- Open in Editor — 버퍼를 제안 이름
SQL Playground.sql로 일반 워크스페이스 편집기 탭에 띄워요.
- 편집기: 자동 완성, 제안, 스니펫, 괄호 매칭, 표준 오른쪽 클릭 컨텍스트 메뉴를 갖춘 Monaco 기반 SQL 편집기. 편집기는 SQL 언어로 등록되어 키워드와 식별자 제안이 기본 제공돼요.
- 결과 창: 하단의 탭 뷰로 Results와 Query History 탭이 있어요. 편집기와 결과 창 사이의 가로 새시로 분할 크기를 조절할 수 있어요.
- Sheets 사이드바: 현재 워크스페이스의
.sql시트 접이식 트리. 상단 도구 모음에서 토글해요. 새 시트 만들기, 기존 시트 이름 바꾸기·삭제, 드래그 앤 드롭으로 정리를 할 수 있어요. 시트를 선택하면 편집기에 로드돼요.
SQL 실행
플레이그라운드는 Snowflake 워크시트에서 기대하는 것과 같은 실행 표면을 지원해요.
- 커서의 문장 실행 — ⌘Enter(macOS) 또는 Ctrl+Enter(Windows/Linux)를 누르거나 Run을 클릭해요. 플레이그라운드는 커서 아래 문장을 감지하고(세미콜론 구분 경계 사용) 그 문장만 제출해요.
- Run All — More Run Options 드롭다운에서, 버퍼의 모든 문장을 순서대로 실행해요. 설정 스크립트나 초안 전체를 끝까지 실행할 때 유용해요.
- 실행 중 쿼리 취소 — 쿼리가 진행되는 동안 Run 버튼이 취소 상태로 바뀌어요. 클릭하면 진행 중인 문장을 중단해요.
- 뷰 모드 전환 — 결과가 도착하면 결과 창 컨트롤에서 Table과 Chart 뷰를 전환해요. Chart 뷰는 에이전트가 도구 결과를 시각화하는 것과 같은 렌더러를 사용해요.
팁
쿼리 반환이 오래 걸리면 결과 창을 접어 편집을 계속한 뒤 다시 열 수 있어요. 취소 후 재실행은 안전해요. 플레이그라운드는 취소된 실행의 부분 결과를 보관하지 않아요.
쿼리 기록
Query History 탭은 SQL 결과 서비스에서 가져온 현재 워크스페이스의 이전 실행을 나열해요. 목록은 패널이 보이는 동안 새로고침되므로, 완료된 쿼리는 끝난 직후 나타나요.
항목을 선택하면 그 결과가 Results 탭에서 사용되는 것과 같은 렌더러로 표시되고, 같은 테이블/차트 뷰 옵션이 있어요. 이것은 다시 실행하지 않고 이전에 실행한 쿼리를 다시 보는 가장 쉬운 방법이에요.
지속성
플레이그라운드는 두 곳에 세션 간 작업을 지속해요.
- 디스크의 시트 파일. 각 워크스페이스는
~/.snowflake/cortex/sql/<workspace-id>/아래에 자체 시트 디렉터리를 가져요. 새 시트는 메모리 버퍼로 시작하고, 처음 실행할 때 CoCo가Untitled-N.sql로 디스크에 실체화한 뒤 이후 편집마다 자동 저장해요. 편집기는 내부적으로sql-playground:URI 체계를 사용하지만, 각 시트는 어떤 도구로든 읽거나 백업할 수 있는 일반 UTF-8 SQL 파일이에요. - 가벼운 UI 상태. 시트별 커서 위치, 편집기/결과 분할 비율, 활성 탭, 결과 창 접힘 여부가 기억되어 각 워크스페이스가 자체 레이아웃을 복원해요.
참고
사이드바에서 시트를 삭제하면 그 파일이 제거돼요. CoCo 밖에서 초안을 복구하거나 백업하려면 ~/.snowflake/cortex/sql/에서 워크스페이스의 시트 디렉터리를 찾아봐요.
Open in Editor
도구 모음의 Open in Editor를 클릭해 플레이그라운드에서 나와 일반 편집기 탭으로 이동해요. CoCo는 파일 이름 SQL Playground.sql을 제안하고 전체 편집기 경험(소스 제어 통합, 저장, 다중 커서, 포매터 등)으로 버퍼를 엽니다.
플레이그라운드는 자체 복사본을 유지하므로 편집기로 여는 것은 활성 시트를 분리하지 않아요. 필요할 때 같은 SQL에 더 풍부한 편집 표면을 주는 것뿐이에요.
Agent Fix-it 버튼
플레이그라운드나 에이전트가 생성한 SQL 결과에서 SQL 오류가 발생하면 오류 메시지 옆에 Fix 버튼이 나타나요. 클릭하면 실패한 쿼리와 오류를 에이전트에 보내고, 에이전트가 SQL을 다시 쓰고 수정 버전을 인라인 diff로 제시해요. Keep으로 재작성을 수락하거나 Undo로 버려요.
Fix-it 버튼은 SQL Playground와 SQL 파일이 열린 Editor view 모두에서 동작해요.
에이전트 통합
에이전트가 실행하는 도구는 SQL을 플레이그라운드로 밀어 넣을 수 있어요. 도구 결과에 SQL 문장이 포함되면 결과에 Open in SQL Playground 동작이 나타나요. 클릭하면 SQL이 플레이그라운드에 로드되고(아직 안 열려 있으면 패널 생성) 편집기에 초점이 맞춰져요.
설정 참조
| 설정 / 경로 | 설명 |
|---|---|
~/.snowflake/cortex/sql/<workspace-id>/ |
워크스페이스의 시트 디렉터리. 워크스페이스의 자동 저장 .sql 시트(예: Untitled-1.sql)를 보관해요. |
sql-playground: |
플레이그라운드 버퍼를 뒷받침하는 메모리 편집기 모델에 사용되는 URI 체계. |
| Run 키바인딩 | macOS는 ⌘Enter, Windows/Linux는 Ctrl+Enter. 커서의 문장을 실행해요. |
문제 해결
"No active connection" 또는 Snowflake에 도달하기 전에 쿼리 실패
플레이그라운드는 현재 채팅 대화에 바인딩된 연결로 쿼리를 제출해요. 대화에 Snowflake 연결이 선택되어 있는지 확인해요. 최근에 계정을 전환했다면 대화를 다시 열거나 실행 전에 채팅 헤더에서 연결을 설정해요.
Run을 누른 뒤 결과 창이 비어 있음
- 커서가 비어 있지 않은 SQL 문장에 있는지 확인해요. Run은 커서의 문장을 대상으로 하므로 빈 줄은 실행할 것이 없어요.
- More Run Options 드롭다운에서 Run All을 시도해 전체 버퍼를 실행해요.
- Query History 탭을 확인해요. 그 실행이 오류와 함께 기록되었다면, 메시지가 결과가 렌더링되지 않은 이유를 설명해줘요.
쿼리가 멈추거나 너무 오래 걸림
쿼리가 진행되는 동안 Run 버튼을 클릭해 취소해요. 취소가 빨리 돌아오지 않으면 쿼리가 이미 Snowflake에서 실행 중일 수 있어요. 같은 웨어하우스에 연결된 Snowsight나 다른 클라이언트에서도 취소할 수 있어요.
시트나 대화를 삭제한 뒤 초안을 잃어버림
채팅에서 대화를 제거해도 시트는 삭제되지 않아요. 시트는 워크스페이스에 범위가 정해져 있어요. 사이드바에서 시트를 삭제했다면 그 파일이 제거된 것이고, 그렇지 않으면 ~/.snowflake/cortex/sql/에서 워크스페이스의 시트 디렉터리를 찾아 내용을 새 시트나 편집기에 복사해요.
더 알아보기
- Cortex Code in your editor — 에이전트와 SQL 결과 사용
- Navigation — Agent Manager 패널