feat: ADR-0035 4i(e) — colour DSL vs SQL completions when mixed
Building on the 4i(d) merge: tag each completion Candidate with a ModeClass (Both/Advanced/Simple) and, in the hint UI, colour the continuations by mode ONLY when a candidate list actually mixes modes (a shared entry word offering both SQL and DSL forms) — Advanced → theme.mode_advanced, Simple → theme.mode_simple, Both → the token-kind colour. A single-mode list (the common case, e.g. deep inside a SQL statement) keeps the token-kind colours, so the tint appears only where it distinguishes DSL from SQL. With (d)'s Both → Advanced → Simple block-ordering, each colour reads as one contiguous block. Candidate gains a `mode` field (typing_surface snapshots regenerated — uniformly `mode: Both`, no semantic change). Tests: render_candidate_line mixed-mode colours + the single-mode-keeps-kind-colour rule. Full suite 1913 passing / 0 failing / 1 ignored; clippy clean.
This commit is contained in:
+23
-3
@@ -146,6 +146,11 @@ fn expected_at(leading: &str, mode: Mode) -> Vec<Expectation> {
|
|||||||
pub struct Candidate {
|
pub struct Candidate {
|
||||||
pub text: String,
|
pub text: String,
|
||||||
pub kind: CandidateKind,
|
pub kind: CandidateKind,
|
||||||
|
/// Source-mode classification (ADR-0035 §4i e). `Both` (neutral)
|
||||||
|
/// except for the merged continuations of a shared entry word, where
|
||||||
|
/// the hint UI colours `Advanced`/`Simple` differently — but only
|
||||||
|
/// when the candidate list actually mixes modes.
|
||||||
|
pub mode: ModeClass,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Re-ranker for a freshly-computed candidate list (ADR-0024
|
/// Re-ranker for a freshly-computed candidate list (ADR-0024
|
||||||
@@ -712,26 +717,37 @@ pub fn candidates_at_cursor_with_in_mode(
|
|||||||
candidates.extend(identifiers.into_iter().map(|text| Candidate {
|
candidates.extend(identifiers.into_iter().map(|text| Candidate {
|
||||||
text,
|
text,
|
||||||
kind: CandidateKind::Identifier,
|
kind: CandidateKind::Identifier,
|
||||||
|
mode: ModeClass::Both,
|
||||||
}));
|
}));
|
||||||
candidates.extend(keywords.into_iter().map(|text| Candidate {
|
// Keywords carry their merged mode-class (Both unless a shared entry
|
||||||
text,
|
// word mixed simple + advanced continuations — ADR-0035 §4i e).
|
||||||
kind: CandidateKind::Keyword,
|
candidates.extend(keywords.into_iter().map(|text| {
|
||||||
|
let mode = kw_mode(text.as_str());
|
||||||
|
Candidate {
|
||||||
|
text,
|
||||||
|
kind: CandidateKind::Keyword,
|
||||||
|
mode,
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
candidates.extend(type_names.into_iter().map(|text| Candidate {
|
candidates.extend(type_names.into_iter().map(|text| Candidate {
|
||||||
text,
|
text,
|
||||||
kind: CandidateKind::Keyword,
|
kind: CandidateKind::Keyword,
|
||||||
|
mode: ModeClass::Both,
|
||||||
}));
|
}));
|
||||||
candidates.extend(composites.into_iter().map(|text| Candidate {
|
candidates.extend(composites.into_iter().map(|text| Candidate {
|
||||||
text,
|
text,
|
||||||
kind: CandidateKind::Keyword,
|
kind: CandidateKind::Keyword,
|
||||||
|
mode: ModeClass::Both,
|
||||||
}));
|
}));
|
||||||
candidates.extend(punct_candidates.into_iter().map(|text| Candidate {
|
candidates.extend(punct_candidates.into_iter().map(|text| Candidate {
|
||||||
text,
|
text,
|
||||||
kind: CandidateKind::Punct,
|
kind: CandidateKind::Punct,
|
||||||
|
mode: ModeClass::Both,
|
||||||
}));
|
}));
|
||||||
candidates.extend(flags.into_iter().map(|text| Candidate {
|
candidates.extend(flags.into_iter().map(|text| Candidate {
|
||||||
text,
|
text,
|
||||||
kind: CandidateKind::Flag,
|
kind: CandidateKind::Flag,
|
||||||
|
mode: ModeClass::Both,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
if candidates.is_empty() {
|
if candidates.is_empty() {
|
||||||
@@ -2219,6 +2235,7 @@ mod tests {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: text.to_string(),
|
text: text.to_string(),
|
||||||
kind: CandidateKind::Keyword,
|
kind: CandidateKind::Keyword,
|
||||||
|
mode: ModeClass::Both,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2260,14 +2277,17 @@ mod tests {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "b".to_string(),
|
text: "b".to_string(),
|
||||||
kind: CandidateKind::Keyword,
|
kind: CandidateKind::Keyword,
|
||||||
|
mode: ModeClass::Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "a".to_string(),
|
text: "a".to_string(),
|
||||||
kind: CandidateKind::Keyword,
|
kind: CandidateKind::Keyword,
|
||||||
|
mode: ModeClass::Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "c".to_string(),
|
text: "c".to_string(),
|
||||||
kind: CandidateKind::Identifier,
|
kind: CandidateKind::Identifier,
|
||||||
|
mode: ModeClass::Both,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
let out = identity_ranker(input.clone());
|
let out = identity_ranker(input.clone());
|
||||||
|
|||||||
+4
-4
@@ -1495,8 +1495,8 @@ mod tests {
|
|||||||
inserted_range: (5, 5),
|
inserted_range: (5, 5),
|
||||||
original_text: String::new(),
|
original_text: String::new(),
|
||||||
candidates: vec![
|
candidates: vec![
|
||||||
Candidate { text: "data".to_string(), kind: CandidateKind::Keyword },
|
Candidate { text: "data".to_string(), kind: CandidateKind::Keyword, mode: crate::completion::ModeClass::Both },
|
||||||
Candidate { text: "table".to_string(), kind: CandidateKind::Keyword },
|
Candidate { text: "table".to_string(), kind: CandidateKind::Keyword, mode: crate::completion::ModeClass::Both },
|
||||||
],
|
],
|
||||||
selection_idx: 1,
|
selection_idx: 1,
|
||||||
};
|
};
|
||||||
@@ -1529,8 +1529,8 @@ mod tests {
|
|||||||
// produce — proves the memo's list is being used,
|
// produce — proves the memo's list is being used,
|
||||||
// not a recomputed one.
|
// not a recomputed one.
|
||||||
candidates: vec![
|
candidates: vec![
|
||||||
Candidate { text: "data".to_string(), kind: CandidateKind::Keyword },
|
Candidate { text: "data".to_string(), kind: CandidateKind::Keyword, mode: crate::completion::ModeClass::Both },
|
||||||
Candidate { text: "table".to_string(), kind: CandidateKind::Keyword },
|
Candidate { text: "table".to_string(), kind: CandidateKind::Keyword, mode: crate::completion::ModeClass::Both },
|
||||||
],
|
],
|
||||||
selection_idx: 1,
|
selection_idx: 1,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -915,13 +915,35 @@ fn render_candidate_line(
|
|||||||
}
|
}
|
||||||
let separator_style = Style::default().fg(theme.muted);
|
let separator_style = Style::default().fg(theme.muted);
|
||||||
let marker_style = Style::default().fg(theme.fg);
|
let marker_style = Style::default().fg(theme.fg);
|
||||||
|
// (ADR-0035 §4i e) When a shared entry word merged simple + advanced
|
||||||
|
// continuations, the list mixes mode-classes — colour SQL-only
|
||||||
|
// (`Advanced`) and DSL-only (`Simple`) continuations with the mode
|
||||||
|
// palette so a learner sees which is which; `Both` (and every
|
||||||
|
// single-mode list) keeps the token-kind colour, so the tint appears
|
||||||
|
// only where it is informative.
|
||||||
|
let mixed = {
|
||||||
|
let mut seen = std::collections::HashSet::new();
|
||||||
|
for c in items {
|
||||||
|
seen.insert(c.mode.block_order());
|
||||||
|
}
|
||||||
|
seen.len() > 1
|
||||||
|
};
|
||||||
let style_for = |i: usize| {
|
let style_for = |i: usize| {
|
||||||
let base_fg = match items[i].kind {
|
let kind_fg = match items[i].kind {
|
||||||
crate::completion::CandidateKind::Keyword => theme.tok_keyword,
|
crate::completion::CandidateKind::Keyword => theme.tok_keyword,
|
||||||
crate::completion::CandidateKind::Identifier => theme.tok_identifier,
|
crate::completion::CandidateKind::Identifier => theme.tok_identifier,
|
||||||
crate::completion::CandidateKind::Flag => theme.tok_flag,
|
crate::completion::CandidateKind::Flag => theme.tok_flag,
|
||||||
crate::completion::CandidateKind::Punct => theme.tok_punct,
|
crate::completion::CandidateKind::Punct => theme.tok_punct,
|
||||||
};
|
};
|
||||||
|
let base_fg = if mixed {
|
||||||
|
match items[i].mode {
|
||||||
|
crate::completion::ModeClass::Both => kind_fg,
|
||||||
|
crate::completion::ModeClass::Advanced => theme.mode_advanced,
|
||||||
|
crate::completion::ModeClass::Simple => theme.mode_simple,
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
kind_fg
|
||||||
|
};
|
||||||
let mut s = Style::default().fg(base_fg);
|
let mut s = Style::default().fg(base_fg);
|
||||||
if Some(i) == selected {
|
if Some(i) == selected {
|
||||||
s = s.add_modifier(Modifier::BOLD);
|
s = s.add_modifier(Modifier::BOLD);
|
||||||
@@ -1072,6 +1094,47 @@ mod tests {
|
|||||||
assert_eq!(rendered.spans[2].style.fg, Some(theme.fg));
|
assert_eq!(rendered.spans[2].style.fg, Some(theme.fg));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn candidate_line_colours_mixed_mode_continuations() {
|
||||||
|
// ADR-0035 §4i (e): when a shared entry word's completions mix
|
||||||
|
// mode-classes, Advanced (SQL-only) → mode_advanced, Simple
|
||||||
|
// (DSL-only) → mode_simple, Both → token-kind colour. Spans
|
||||||
|
// alternate candidate / separator, so candidate `i` is span `2*i`.
|
||||||
|
use crate::completion::{Candidate, CandidateKind, ModeClass};
|
||||||
|
let theme = Theme::dark();
|
||||||
|
let items = vec![
|
||||||
|
Candidate { text: "table".into(), kind: CandidateKind::Keyword, mode: ModeClass::Both },
|
||||||
|
Candidate { text: "index".into(), kind: CandidateKind::Keyword, mode: ModeClass::Advanced },
|
||||||
|
Candidate { text: "relationship".into(), kind: CandidateKind::Keyword, mode: ModeClass::Simple },
|
||||||
|
];
|
||||||
|
let line = render_candidate_line(&items, None, 100, &theme);
|
||||||
|
assert_eq!(line.spans[0].content.as_ref(), "table");
|
||||||
|
assert_eq!(line.spans[0].style.fg, Some(theme.tok_keyword), "Both keeps the kind colour");
|
||||||
|
assert_eq!(line.spans[2].content.as_ref(), "index");
|
||||||
|
assert_eq!(line.spans[2].style.fg, Some(theme.mode_advanced), "Advanced → advanced colour");
|
||||||
|
assert_eq!(line.spans[4].content.as_ref(), "relationship");
|
||||||
|
assert_eq!(line.spans[4].style.fg, Some(theme.mode_simple), "Simple → simple colour");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn candidate_line_single_mode_keeps_kind_colour() {
|
||||||
|
// The mode tint applies ONLY when the list mixes classes. An
|
||||||
|
// all-one-mode list (the common case, e.g. deep inside a SQL
|
||||||
|
// statement) keeps the token-kind colours — no redundant tint.
|
||||||
|
use crate::completion::{Candidate, CandidateKind, ModeClass};
|
||||||
|
let theme = Theme::dark();
|
||||||
|
let items = vec![
|
||||||
|
Candidate { text: "values".into(), kind: CandidateKind::Keyword, mode: ModeClass::Advanced },
|
||||||
|
Candidate { text: "select".into(), kind: CandidateKind::Keyword, mode: ModeClass::Advanced },
|
||||||
|
];
|
||||||
|
let line = render_candidate_line(&items, None, 100, &theme);
|
||||||
|
assert_eq!(
|
||||||
|
line.spans[0].style.fg,
|
||||||
|
Some(theme.tok_keyword),
|
||||||
|
"an all-Advanced list is not tinted (would be redundant noise)"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn a_line_without_styled_runs_keeps_whole_line_kind_styling() {
|
fn a_line_without_styled_runs_keeps_whole_line_kind_styling() {
|
||||||
let theme = Theme::dark();
|
let theme = Theme::dark();
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
@@ -13,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "1:n",
|
text: "1:n",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -41,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "1:n",
|
text: "1:n",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "as",
|
text: "as",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "as",
|
text: "as",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "short",
|
text: "short",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "verbose",
|
text: "verbose",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "short",
|
text: "short",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "verbose",
|
text: "verbose",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "simple",
|
text: "simple",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "advanced",
|
text: "advanced",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "simple",
|
text: "simple",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "advanced",
|
text: "advanced",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -15,6 +15,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "quit",
|
text: "quit",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -31,6 +32,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "quit",
|
text: "quit",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "as",
|
text: "as",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "as",
|
text: "as",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/candidate_ordering.rs
|
source: tests/typing_surface/candidate_ordering.rs
|
||||||
assertion_line: 131
|
|
||||||
description: "input=\"add column to \" cursor=14"
|
description: "input=\"add column to \" cursor=14"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -38,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/candidate_ordering.rs
|
source: tests/typing_surface/candidate_ordering.rs
|
||||||
assertion_line: 98
|
|
||||||
description: "input=\"add column \" cursor=11"
|
description: "input=\"add column \" cursor=11"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "to",
|
text: "to",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "to",
|
text: "to",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/candidate_ordering.rs
|
source: tests/typing_surface/candidate_ordering.rs
|
||||||
assertion_line: 56
|
|
||||||
description: "input=\"add column \" cursor=11"
|
description: "input=\"add column \" cursor=11"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "to",
|
text: "to",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "to",
|
text: "to",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/candidate_ordering.rs
|
source: tests/typing_surface/candidate_ordering.rs
|
||||||
assertion_line: 80
|
|
||||||
description: "input=\"change column \" cursor=14"
|
description: "input=\"change column \" cursor=14"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "in",
|
text: "in",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "in",
|
text: "in",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/candidate_ordering.rs
|
source: tests/typing_surface/candidate_ordering.rs
|
||||||
assertion_line: 107
|
|
||||||
description: "input=\"drop column \" cursor=12"
|
description: "input=\"drop column \" cursor=12"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/candidate_ordering.rs
|
source: tests/typing_surface/candidate_ordering.rs
|
||||||
assertion_line: 64
|
|
||||||
description: "input=\"drop column \" cursor=12"
|
description: "input=\"drop column \" cursor=12"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/candidate_ordering.rs
|
source: tests/typing_surface/candidate_ordering.rs
|
||||||
assertion_line: 72
|
|
||||||
description: "input=\"rename column \" cursor=14"
|
description: "input=\"rename column \" cursor=14"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "in",
|
text: "in",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "in",
|
text: "in",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
@@ -13,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -41,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -23,18 +23,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
@@ -13,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -41,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
@@ -13,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "1:n",
|
text: "1:n",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -41,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "1:n",
|
text: "1:n",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+10
@@ -13,22 +13,27 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "relationship",
|
text: "relationship",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -45,22 +50,27 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "relationship",
|
text: "relationship",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/constraints.rs
|
source: tests/typing_surface/constraints.rs
|
||||||
assertion_line: 30
|
|
||||||
description: "input=\"create table Ages with pk age(int) check (age >= 0)\" cursor=51"
|
description: "input=\"create table Ages with pk age(int) check (age >= 0)\" cursor=51"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/constraints.rs
|
source: tests/typing_surface/constraints.rs
|
||||||
assertion_line: 19
|
|
||||||
description: "input=\"create table Books with pk isbn(text) default '000'\" cursor=51"
|
description: "input=\"create table Books with pk isbn(text) default '000'\" cursor=51"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
@@ -13,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -41,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "with",
|
text: "with",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "with",
|
text: "with",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+20
@@ -13,42 +13,52 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "text",
|
text: "text",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "int",
|
text: "int",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "real",
|
text: "real",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "decimal",
|
text: "decimal",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "bool",
|
text: "bool",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "date",
|
text: "date",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "datetime",
|
text: "datetime",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "blob",
|
text: "blob",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "serial",
|
text: "serial",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "shortid",
|
text: "shortid",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -65,42 +75,52 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "text",
|
text: "text",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "int",
|
text: "int",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "real",
|
text: "real",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "decimal",
|
text: "decimal",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "bool",
|
text: "bool",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "date",
|
text: "date",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "datetime",
|
text: "datetime",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "blob",
|
text: "blob",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "serial",
|
text: "serial",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "shortid",
|
text: "shortid",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "pk",
|
text: "pk",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "pk",
|
text: "pk",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/create_table.rs
|
source: tests/typing_surface/create_table.rs
|
||||||
assertion_line: 117
|
|
||||||
description: "input=\"create table Memberships with pk UserId(int), GroupId(int)\" cursor=58"
|
description: "input=\"create table Memberships with pk UserId(int), GroupId(int)\" cursor=58"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/create_table.rs
|
source: tests/typing_surface/create_table.rs
|
||||||
assertion_line: 106
|
|
||||||
description: "input=\"create table Customers with pk Code(text)\" cursor=41"
|
description: "input=\"create table Customers with pk Code(text)\" cursor=41"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -42,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "unique",
|
text: "unique",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "default",
|
text: "default",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "check",
|
text: "check",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -15,6 +15,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "--all-rows",
|
text: "--all-rows",
|
||||||
kind: Flag,
|
kind: Flag,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -31,6 +32,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "--all-rows",
|
text: "--all-rows",
|
||||||
kind: Flag,
|
kind: Flag,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "where",
|
text: "where",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "--all-rows",
|
text: "--all-rows",
|
||||||
kind: Flag,
|
kind: Flag,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "where",
|
text: "where",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "--all-rows",
|
text: "--all-rows",
|
||||||
kind: Flag,
|
kind: Flag,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/delete_with_where.rs
|
source: tests/typing_surface/delete_with_where.rs
|
||||||
assertion_line: 60
|
|
||||||
description: "input=\"delete from Customers where Email=\" cursor=34"
|
description: "input=\"delete from Customers where Email=\" cursor=34"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -24,26 +23,32 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Email",
|
text: "Email",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "true",
|
text: "true",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "false",
|
text: "false",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+14
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/delete_with_where.rs
|
source: tests/typing_surface/delete_with_where.rs
|
||||||
assertion_line: 39
|
|
||||||
description: "input=\"delete from Customers where \" cursor=28"
|
description: "input=\"delete from Customers where \" cursor=28"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,30 +13,37 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "true",
|
text: "true",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "false",
|
text: "false",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -54,30 +60,37 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "true",
|
text: "true",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "false",
|
text: "false",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+13
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/delete_with_where.rs
|
source: tests/typing_surface/delete_with_where.rs
|
||||||
assertion_line: 86
|
|
||||||
description: "input=\"delete from Things where ts=\" cursor=28"
|
description: "input=\"delete from Things where ts=\" cursor=28"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -24,54 +23,67 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "auto",
|
text: "auto",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "b",
|
text: "b",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "d",
|
text: "d",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "data",
|
text: "data",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "dt",
|
text: "dt",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "k",
|
text: "k",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "note",
|
text: "note",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "r",
|
text: "r",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "sid",
|
text: "sid",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "ts",
|
text: "ts",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "true",
|
text: "true",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "false",
|
text: "false",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Email",
|
text: "Email",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Email",
|
text: "Email",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/drop_column.rs
|
source: tests/typing_surface/drop_column.rs
|
||||||
assertion_line: 19
|
|
||||||
description: "input=\"drop column from \" cursor=17"
|
description: "input=\"drop column from \" cursor=17"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -38,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/drop_relationship.rs
|
source: tests/typing_surface/drop_relationship.rs
|
||||||
assertion_line: 37
|
|
||||||
description: "input=\"drop relationship \" cursor=18"
|
description: "input=\"drop relationship \" cursor=18"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders_CustId_to_Customers",
|
text: "Orders_CustId_to_Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -34,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders_CustId_to_Customers",
|
text: "Orders_CustId_to_Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "from",
|
text: "from",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "where",
|
text: "where",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "--all-rows",
|
text: "--all-rows",
|
||||||
kind: Flag,
|
kind: Flag,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "where",
|
text: "where",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "--all-rows",
|
text: "--all-rows",
|
||||||
kind: Flag,
|
kind: Flag,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "show",
|
text: "show",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "update",
|
text: "update",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "delete",
|
text: "delete",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "show",
|
text: "show",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "update",
|
text: "update",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "delete",
|
text: "delete",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "where",
|
text: "where",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "limit",
|
text: "limit",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "where",
|
text: "where",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "limit",
|
text: "limit",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "data",
|
text: "data",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "data",
|
text: "data",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "set",
|
text: "set",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "set",
|
text: "set",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+14
-1
@@ -1,6 +1,5 @@
|
|||||||
---
|
---
|
||||||
source: tests/typing_surface/explain.rs
|
source: tests/typing_surface/explain.rs
|
||||||
assertion_line: 54
|
|
||||||
description: "input=\"explain show data Customers where \" cursor=34"
|
description: "input=\"explain show data Customers where \" cursor=34"
|
||||||
expression: "& a"
|
expression: "& a"
|
||||||
---
|
---
|
||||||
@@ -14,30 +13,37 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "true",
|
text: "true",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "false",
|
text: "false",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -54,30 +60,37 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "not",
|
text: "not",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "true",
|
text: "true",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "false",
|
text: "false",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+8
@@ -13,18 +13,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "1:n",
|
text: "1:n",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -41,18 +45,22 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "1:n",
|
text: "1:n",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+10
@@ -13,22 +13,27 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "relationship",
|
text: "relationship",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -45,22 +50,27 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "column",
|
text: "column",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "relationship",
|
text: "relationship",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "table",
|
text: "table",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "index",
|
text: "index",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "constraint",
|
text: "constraint",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "values",
|
text: "values",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "values",
|
text: "values",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "insert",
|
text: "insert",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "insert",
|
text: "insert",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "into",
|
text: "into",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "into",
|
text: "into",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Customers",
|
text: "Customers",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Orders",
|
text: "Orders",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Email",
|
text: "Email",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Email",
|
text: "Email",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Code",
|
text: "Code",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Title",
|
text: "Title",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Code",
|
text: "Code",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Title",
|
text: "Title",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+4
@@ -13,10 +13,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "values",
|
text: "values",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -33,10 +35,12 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "values",
|
text: "values",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+3
@@ -23,14 +23,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "true",
|
text: "true",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "false",
|
text: "false",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "CustId",
|
text: "CustId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "OrderId",
|
text: "OrderId",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Total",
|
text: "Total",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+6
@@ -13,14 +13,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Email",
|
text: "Email",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -37,14 +40,17 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "Email",
|
text: "Email",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "Name",
|
text: "Name",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
Candidate {
|
Candidate {
|
||||||
text: "id",
|
text: "id",
|
||||||
kind: Identifier,
|
kind: Identifier,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+2
@@ -13,6 +13,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
selected: None,
|
selected: None,
|
||||||
@@ -29,6 +30,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "(",
|
text: "(",
|
||||||
kind: Punct,
|
kind: Punct,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -25,6 +25,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -23,6 +23,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
+1
@@ -25,6 +25,7 @@ Assessment {
|
|||||||
Candidate {
|
Candidate {
|
||||||
text: "null",
|
text: "null",
|
||||||
kind: Keyword,
|
kind: Keyword,
|
||||||
|
mode: Both,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user