Skip to content
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

[#138] parser::common 테스트코드 작성 #151

Merged
merged 24 commits into from
Aug 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
e68dbf3
[#138] parse_table_column 테스트코드 작성
myyrakle Aug 11, 2024
79e4e36
[#138] parse_table_column 테스트케이스 추가
myyrakle Aug 11, 2024
8e6a210
[#138] parse_data_type 테스트코드 작성
myyrakle Aug 11, 2024
a36d233
[#138] parse_data_type 테스트케이스 추가
myyrakle Aug 11, 2024
d707621
[#138] parse_table_name 테스트코드 작성
myyrakle Aug 11, 2024
385182b
[#138] has_if_not_exists 테스트코드 작성
myyrakle Aug 12, 2024
774ac78
[#138] has_if_exists 테스트코드 작성
myyrakle Aug 12, 2024
88d8760
[#138] parse_select_column 테스트코드 작성
myyrakle Aug 12, 2024
1061031
[#138] next_token_is_binary_operator 테스트코드 작성
myyrakle Aug 12, 2024
c659152
[#138] 미사용 함수 제거
myyrakle Aug 12, 2024
d943ed2
[#138] next_token_is_right_parentheses 테스트코드 작성
myyrakle Aug 12, 2024
01c2323
[#138] next_token_is_comma 테스트코드 작성
myyrakle Aug 12, 2024
e123d6f
[#138] next_token_is_between 테스트코드 작성
myyrakle Aug 12, 2024
fa8d584
[#138] next_token_is_table_alias 테스트코드 작성
myyrakle Aug 12, 2024
86b7476
[#138] next_token_is_order_by 테스트코드 작성
myyrakle Aug 12, 2024
a54c200
[#138] next_token_is_group_by 테스트코드 작성
myyrakle Aug 12, 2024
b05280b
[#138] next_token_is_column 테스트코드 작성
myyrakle Aug 12, 2024
5df7fd2
[#138] next_token_is_not_null 테스트코드 작성
myyrakle Aug 12, 2024
b83c2e0
[#138] next_token_is_data_type 테스트코드 작성
myyrakle Aug 12, 2024
884d93a
[#138] next_token_is_default 테스트코드 작성
myyrakle Aug 12, 2024
88b1000
[#138] get_next_join_type 테스트코드 작성
myyrakle Aug 12, 2024
0f12ca7
[#138] parse_table_alias 테스트코드 작성
myyrakle Aug 12, 2024
c0e17b4
[#138] parse_subquery 테스트코드 작성
myyrakle Aug 12, 2024
5aa4cc1
[#138] parser::common 테스트케이스 보충
myyrakle Aug 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/ast/dml/expressions/subquery.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ pub enum SubqueryExpression {
Select(Box<SelectQuery>),
}

impl Default for SubqueryExpression {
fn default() -> Self {
SubqueryExpression::Select(Box::new(SelectQuery::builder()))
}
}

impl From<SubqueryExpression> for SQLExpression {
fn from(value: SubqueryExpression) -> SQLExpression {
SQLExpression::Subquery(value)
Expand Down
2 changes: 1 addition & 1 deletion src/ast/types/column.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize};

use super::expression::SQLExpression;

#[derive(Deserialize, Serialize, Clone, Debug, PartialEq)]
#[derive(Deserialize, Serialize, Clone, Debug, PartialEq, Default)]
pub struct Column {
pub name: String,
pub data_type: DataType,
Expand Down
6 changes: 6 additions & 0 deletions src/ast/types/data_types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ pub enum DataType {
Varchar(i64),
}

impl Default for DataType {
fn default() -> Self {
DataType::Int
}
}

impl DataType {
pub fn type_code(&self) -> isize {
match self {
Expand Down
31 changes: 0 additions & 31 deletions src/parser/implements/common.rs
Original file line number Diff line number Diff line change
Expand Up @@ -449,37 +449,6 @@ impl Parser {
}
}

// 다음 토큰이 여는 괄호인지
pub(crate) fn _next_token_is_subquery(&mut self) -> bool {
if !self.has_next_token() {
false
} else {
let current_token = self.get_next_token();

if current_token == Token::LeftParentheses {
if !self.has_next_token() {
self.unget_next_token(current_token);
false
} else {
let second_token = self.get_next_token();

if second_token == Token::Select {
self.unget_next_token(second_token);
self.unget_next_token(current_token);
true
} else {
self.unget_next_token(second_token);
self.unget_next_token(current_token);
false
}
}
} else {
self.unget_next_token(current_token);
false
}
}
}

// 다음 토큰이 닫는 괄호인지
pub(crate) fn next_token_is_right_parentheses(&mut self) -> bool {
if !self.has_next_token() {
Expand Down
Loading
Loading