오픈 소스 VS Code 플러그인 Trino 드라이버의 세 가지 작은 문제 해결

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

오픈 소스 VS Code 플러그인 Trino 드라이버의 세 가지 작은 문제 해결

서 문 .

最近产品で使用する。到一款이 플 러 그 인은 VS Code 에서 데이터 베이스 관 리를 구현 할 수 있으며 매우 많은 데이터 소 스 유형 을 지원 합니다 .
공식 데이터 소 스 유형 은 Co ck ro ach DB , Maria DB , My SQL , Post gre SQL , SQL ite , Microsoft SQL Server / Azure 및 Microsoft Azure 입니다 .
또한 많은 커뮤니티 데이터 소 스 드라이브 가 있습니다 .우리가 관리 하는 데이터 소 스 유형 은 Tr ino 이며 아이 콘 은 작은 토 끼 입니다 .사용 된 구성 요소 는
트 리 노 드라이 버
그러나 이 플 러 그 인을 사용할 때 두 가지 문제가 있습니다 .

문제 점

문제 1 은 Tr ino 드라이 버 가 Tr ino 데이터 소 스에 연결 하기 위해 H tt ps 링크 를 지원 하지 않는다는 것입니다 (처 음 에는 문제가 하나 뿐 이었 지만 해결 후 두 가지 더 발견 되었습니다 .)
문제 2 는 테이블 레 코 드 미리 보 기가 지원 되지 않는다는 것입니다 .
문제 3 은 스 키 마 를 전환 할 때 테이블 레 코 드를 미리 볼 수 없다는 것입니다 .

내 임무 는 이 두 가지 문제를 해결 하는 것이다 .

구성 요 소 관계 정리

SQL To ols 와 Tr ino 드라이 버 의 구성 요소 문 서를 살펴 본 후 후 자가 전 자에 의존 한다는 것을 알게 되었습니다 .
SQL To ols 는 UI 및 기본 도 킹 인터페 이 스를 제공하는 플랫폼 역할을 합니다 .트 리 노 드라이 버 는
Tr ino 데이터 소 스가 만든 어 댑 터 입니다 .다른 데이터 소 스 유형 도 지원 됩니다 .
Tr ino 드라이 버 플 러 그 인은 Tr ino 의 HTTP 프로토 콜 을 기반으로 하는 Tr ino - Client 프로젝트를 기반으로 합니다 . Tr ino 데이터 소 스에 대한 연결 은 A xi os 를 사용하여 SQL 을 사용하여 구현 되었습니다 .

이것이 그들의 관계 입니다 .
SQL To ols 에는 Tr ino 드라이 버 가 포함 됩니다 .
Tr ino 드라이 버 는 tr ino - client 를 포함 합니다 .
tr ino - client 는 axi os 및 tr ino HTTP API 를 포함 합니다 .

디 버 깅 , 문제 해결

데이터 소 스에 대한 https 연결 을 구현 하려면 tr ino - client 이 라이 브 러 리가 지원 하지 않는 것을 참조 하십시오 .
디 버 깅 할 때 최신 공식 버전 의 tr ino - client (v 0. 2. 0) 는 지원 되지 않지만 최신 분 기 main 는 지원 됩니다 . (현 재 저 자는 v 0. 2. 1 을 릴 리스 했습니다 .) H TT PS 를 지원 하는 방법
그래서 나는 메 인 분 기를 기반으로 Tr ino 드라이 버 를 대체 하는 라이 브 러 리를 구축 했습니다 .지원 되는 H TT PS .
그러나 Tr ino 드라이 버 가 데이터 소 스에 연결 할 때 추가 매 개 변 수 도 필요합니다 .
false veri fy SS L C ert :

그러면 첫 번째 문제가 해결 되었습니다 .이러한 문제 해결 은 본질 적으로 인증 서를 확인 하지 않으며 H TT PS 를 지원 하는 것이 아닙니다 .

데이터 소 스에 대한 진정한 H TT PS 연결 을 구현 하려면 Tr ino Driver 라이 브 러 리를 재 구 성 하고 업 로드 된 파일 의 양 식 항목 을 추가 하고 인증 서를 사용하는 axi os 의 자세 를 디 버 그 해야합니다 .

두 번째 문제는 Tr ino 데이터 소 스에 연결 한 후에 나타 났습니다 . (작 은 플 러 그 인 사용 문제가 발생 했으며 비 활 성 커뮤니티 는 신뢰할 수 없습니다 .)

두 번째 문제는 테이블 레 코 드 수 를 미리 볼 때 O FF S ET 문제를 보고 하는 것입니다 .이 문제는 SQL 에 문제가 있는 것처럼 보입니다 .
오픈 소스 VS Code 플러그인 Trino 드라이버의 세 가지 작은 문제 해결Figure

복잡한 구성 요소 , 중 첩 플 러 그 인의 문제가 발생 하면 먼저 그 플 러 그 인의 문제를 찾 아야 하며 , 비교 를 통해 다른 데이터 소 스 플 러 그 인 에는 이 문제가 없으며 Tr ino 데이터 소 스에 만 나타나 므로 문제는 Tr ino 드라이 버 플 러 그 인에 나타 납니다 .
어 쩔 수 없어 .

미친 글로벌 검색 은 O FF S ET 이 있는 SQL 코드를 발견했습니다 .자신의 우 물 바닥 의 개 구 리 SQL 지식 으로 , 문제의 위치를 발견했다 .
이 라이 브 러 리에 쓰 여 진 페이 징 쿼 리 sq l 은 다음과 같습니다 .

S EL ECT *
FR OM ${ (p) = p . table . label> p . table }||
LIM IT ${ (p) = p . limit> 50 [ 중 고 ]||
O FF S ET ${ (p) = p . of fs et> 0} ;||

而在百度查询后得到的结果是,Trino的查询SQL,OFFSET一般放在LIMIT 之前,并且去掉末尾的

수정 한 후 다시 디 버 그 하십시오 .하 하 하 ..뜻 밖 에도 할 수 있다 .

플 러 그 인을 빌 드 하고 테스트 를 위해 보냈 을 때 , 두 시간 후 , 테스트 피 드 백 은 새로운 버 그가 발견 되었다 고 말했습니다 .
나의 첫 번째 반응 은 이 문제가 무엇이든 간에 절 벽 은 원 작 자에 의해 작성 되었으며 내 것이 불가능 하다는 것입니다 .

마지막으로 한 가지 질문은
데이터 소 스를 링크 한 후 많은 스 키 마가 있으므로 테이블 은 스 키 마 아래에 저장 되며 스 키 마 를 전환 하고 테이블 레 코 드를 볼 때 오류 가 발생합니다 .
오픈 소스 VS Code 플러그인 Trino 드라이버의 세 가지 작은 문제 해결Figure1

이런 문제가 발생 하는데 , 플 러 그 인을 출시 할 때 실제로 테스트 한 사람이 있습니까 ?아니면 당신은 하나의 스 키 마 를 가지고 있습니까 ?

어 쩔 수 없다 . 이런 틈 새 의 데이터 소 스와 플 러 그 인 에는 관심을 기울 이는 사람이 거의 없다 . 만약 네가 반드시 사용 한다면 , 너는 고 칠 수 밖에 없고 , 고 칠 수 없다 . 저 자와 직접 대 선 으로 가 자 .

Tr ino 드라이 버 플 러 그 인은 SQL To ols 에서 인 수를 받은 후 SQL 쿼 리에서 schema 인 수를 사용하지 않습니다 .다음은 저 자가 작성 한 두 개의 SQL 입니다 .

S EL ECT *
FR OM ${ (p)) = p . table . label> p . table }||
O FF S ET ${ (p) = p . of fs et> 0}||
LIM IT ${ (p) = p . limit> 50 [ 중 고 ]||

S EL ECT count (1) TO T AL
FR OM ${ (p) = p . table . label> p . table} ;||

내가 바 꾼 후에

S EL ECT *
FROM ${(p) = ' + p . table . label}
O FF S ET ${ (p) = p . of fs et> 0}||
LIM IT ${ (p) = p . limit> 50 [ 중 고 ]||

S EL ECT count (1) TO T AL
FROM ${(p) = ' + p . table . label}

수정 한 후 새 플 러 그 인을 다시 빌 드 하면 새 플 러 그 인을 사용할 수 있습니다 .공식 버 전을 사용 하려면 저 자에게 재 촉 하고 내 PR 을 검토 해야합니다 .

관련 코 드의 PR :
https://github.com/regadas/sqltools-trino-driver/pulls? q = + author % 3 AP m c F izz +

요 약

중요한 것은 얼마나 많은 코드를 썼 는지 가 아니라 이러한 코 드가 가져다 주는 가치 이며 항상 자신의 가치를 생각하고 있습니다 .

성장 은 강 을 만나 다 리를 건 립 고 산 을 만나 길을 열어 주는 것이다 .

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.