Skip to content

Commit

Permalink
Merge pull request #151 from myyrakle/test/#138
Browse files Browse the repository at this point in the history
[#138] parser::common 테스트코드 작성
  • Loading branch information
myyrakle authored Aug 13, 2024
2 parents aa20c27 + 5aa4cc1 commit 0bc585a
Show file tree
Hide file tree
Showing 6 changed files with 1,356 additions and 32 deletions.
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

0 comments on commit 0bc585a

Please sign in to comment.