-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[#142] select query 테스트코드 작성 및 리팩토링 #143
Conversation
Pull reviewers statsStats of the last 14 days for rrdb:
|
✅ Total Coverage: 47.46% |
1e152e2
to
2f5969c
Compare
✅ Total Coverage: 47.15% |
✅ Total Coverage: 47.15% |
✅ Total Coverage: 47.35% |
✅ Total Coverage: 47.35% |
✅ Total Coverage: 47.38% |
✅ Total Coverage: 47.84% |
✅ Total Coverage: 47.86% |
✅ Total Coverage: 47.96% |
✅ Total Coverage: 48.05% |
✅ Total Coverage: 48.07% |
✅ Total Coverage: 48.10% |
✅ Total Coverage: 48.20% |
✅ Total Coverage: 48.23% |
✅ Total Coverage: 48.25% |
✅ Total Coverage: 48.48% |
✅ Total Coverage: 48.57% |
@@ -45,7 +45,7 @@ jobs: | |||
|
|||
- name: Set coverage env variable | |||
run: | | |||
echo "COVERAGE=$(cat coverage_total_percent.txt)" >> $GITHUB_ENV | |||
echo "COVERAGE=$(head -n 1 coverage_total_percent.txt)" >> $GITHUB_ENV |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여러줄인경우 가끔 나와서 자름
self.unget_next_token(current_token); | ||
// 현재 select_item은 종료된 것으로 판단. | ||
Ok(select_item.build()) | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
버그
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이거 추가하죠
1. 잘못된 토큰 시퀀스
- 불완전한 문장 끝
SELECT 1 FROM
SELECT * FROM foo.
(테이블 이름이 끝나지 않음)
- 중복된 키워드
SELECT SELECT 1 FROM foo
FROM foo FROM bar
2. 누락된 필수 키워드 및 구문
- 누락된 FROM 절
SELECT 1
- WHERE 절의 누락
SELECT 1 WHERE
SELECT 1 FROM foo WHERE
3. 잘못된 토큰 타입
- 숫자가 아닌 인덱스
SELECT * FROM foo OFFSET 'test'
- 비정상적인 문자
SELECT * FROM foo WHERE id = @
4. 유효하지 않은 토큰 조합
- 잘못된 연산자 사용
SELECT 1 WHERE 1 =
SELECT * FROM foo WHERE id = != 1
- GROUP BY와 호환되지 않는 집계 함수
SELECT COUNT(id), name FROM foo GROUP BY id
SELECT COUNT(id), name FROM foo GROUP BY name
5. 하위 쿼리의 비정상적 구성
- 누락된 하위 쿼리 키워드
SELECT 1 FROM (SELECT 1)
- 하위 쿼리의 잘못된 사용
SELECT (SELECT 1 FROM foo)
6. 잘못된 GROUP BY, HAVING, ORDER BY 항목
- GROUP BY 항목 제한
SELECT COUNT(id), name FROM foo GROUP BY id
- HAVING 절의 잘못된 조건
SELECT COUNT(id) FROM foo HAVING
SELECT COUNT(id) FROM foo HAVING COUNT(id)
- ORDER BY 항목 제한
SELECT * FROM foo ORDER BY
7. 여러 SQL 문장
- 비정상적인 두 SQL 문장 연결
SELECT * FROM foo; SELECT * FROM
SELECT *; SELECT * FROM
8. 잘못된 함수 호출
- 인자로 함수를 받는 경우
SELECT COUNT FROM foo
SELECT COUNT(* FROM foo)
9. 잘못된 JOIN 사용
- JOIN의 잘못된 사용
SELECT * FROM foo LEFT JOIN
SELECT * FROM foo JOIN bar ON
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
테스트 나중에 다 넣죠
resolves: #142
설명
테스트 코드 작성
![image](https://private-user-images.githubusercontent.com/16988115/353133180-2ab9c980-b1c8-42ef-945c-f9b93ae50c75.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NzcyMDYsIm5iZiI6MTczODk3NjkwNiwicGF0aCI6Ii8xNjk4ODExNS8zNTMxMzMxODAtMmFiOWM5ODAtYjFjOC00MmVmLTk0NWMtZjliOTNhZTUwYzc1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDAxMDgyNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWNiNzY2ODEwM2VlZGZhMWUwM2E4M2MzNzI2MTQzYTk2MDIxODFkNzg2ODFmYTkxOGIzZDg0ZWM4Mjg5MjA3ODkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.m6RM-1h3uOMWVGn5PPlls85eKOoiRx3OtIMCpztJqhU)