Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
daf8efd
sure
juleswritescode May 27, 2025
dcf2439
so far!
juleswritescode May 27, 2025
9abf459
so far
juleswritescode May 28, 2025
8d4836e
yayyy
juleswritescode May 28, 2025
363c2ea
setup roles
juleswritescode May 28, 2025
0e1f0a8
use distinct method
juleswritescode May 28, 2025
8e4d17c
better…
juleswritescode May 28, 2025
d1d8453
sqlx prepare
juleswritescode May 29, 2025
9021bc0
ok
juleswritescode May 29, 2025
0753b50
better
juleswritescode May 29, 2025
1be61b4
ok
juleswritescode May 29, 2025
e55271f
ok
juleswritescode May 29, 2025
9cd04dd
ok
juleswritescode May 29, 2025
7e1c565
ok
juleswritescode May 29, 2025
b37adda
ok
juleswritescode May 29, 2025
cc38757
adjust test
juleswritescode May 29, 2025
a1e1a9c
ok
juleswritescode May 29, 2025
403cf82
resolve conflicts
juleswritescode Jun 2, 2025
9c3184e
ok
juleswritescode Jun 2, 2025
299e469
ok
juleswritescode Jun 3, 2025
2d37803
quicksave
juleswritescode Jun 3, 2025
027324f
reading the card…
juleswritescode Jun 3, 2025
0dd285f
wowa wiwa
juleswritescode Jun 3, 2025
f72297a
ok
juleswritescode Jun 5, 2025
578741e
lowercase…
juleswritescode Jun 5, 2025
ef5cb98
wowa wiwa
juleswritescode Jun 5, 2025
9214c91
add tests
juleswritescode Jun 5, 2025
f2b4b44
linty
juleswritescode Jun 5, 2025
b5e82ed
format
juleswritescode Jun 5, 2025
e736bd0
Merge branch 'main' of https://github.com/supabase-community/postgres…
juleswritescode Jun 5, 2025
cab8ead
Merge branch 'main' into feat/to-role
juleswritescode Jun 5, 2025
f109ece
Merge branch 'main' into feat/to-role
juleswritescode Jun 6, 2025
4beb1f2
merged
juleswritescode Jun 6, 2025
3117d07
simplify word parser
juleswritescode Jun 6, 2025
6640417
infer position
juleswritescode Jun 6, 2025
4c04ba9
hm
juleswritescode Jun 6, 2025
9a4e9fc
ok
juleswritescode Jun 6, 2025
eb54d62
cool
juleswritescode Jun 6, 2025
e9205c4
ok
juleswritescode Jun 6, 2025
f0ffd1d
ok
juleswritescode Jun 6, 2025
c1cbed8
fix tests
juleswritescode Jun 6, 2025
e8dbfdf
Update crates/pgt_completions/src/relevance/filtering.rs
juleswritescode Jun 6, 2025
11a4f57
fix sad bug
juleswritescode Jun 6, 2025
142c8e8
Merge branch 'feat/check-using' of https://github.com/supabase-commun…
juleswritescode Jun 6, 2025
ef6df7d
Update crates/pgt_completions/src/sanitization.rs
juleswritescode Jun 6, 2025
db31640
lintci
juleswritescode Jun 9, 2025
4da85cf
Merge branch 'feat/check-using' of https://github.com/supabase-commun…
juleswritescode Jun 9, 2025
6f12fcc
fmt
juleswritescode Jun 9, 2025
673b8d6
merge with main
juleswritescode Jun 10, 2025
2379f0f
Merge branch 'main' into feat/check-using
juleswritescode Jun 11, 2025
c1050c8
Merge branch 'main' of https://github.com/supabase-community/postgres…
juleswritescode Jun 12, 2025
d9497dd
ok
juleswritescode Jun 12, 2025
f03af23
ack
juleswritescode Jun 12, 2025
5606cf3
Merge branch 'feat/check-using' of https://github.com/supabase-commun…
juleswritescode Jun 12, 2025
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
ok
  • Loading branch information
juleswritescode committed May 29, 2025
commit b37adda9cd10d442be15b485d2f79f2a1e5039a6
56 changes: 32 additions & 24 deletions crates/pgt_completions/src/providers/roles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -27,48 +27,56 @@ pub fn complete_roles<'a>(ctx: &CompletionContext<'a>, builder: &mut CompletionB

#[cfg(test)]
mod tests {
use sqlx::PgPool;

use crate::test_helper::{CURSOR_POS, CompletionAssertion, assert_complete_results};

const SETUP: &'static str = r#"
do $$
begin
if not exists (
select from pg_catalog.pg_roles
where rolname = 'test'
) then
create role test;
end if;
end $$;

create table users (
id serial primary key,
email varchar,
address text
);
"#;

#[tokio::test]
async fn works_in_drop_role() {
#[sqlx::test(migrator = "pgt_test_utils::MIGRATIONS")]
async fn works_in_drop_role(pool: PgPool) {
assert_complete_results(
format!("drop role {}", CURSOR_POS).as_str(),
vec![CompletionAssertion::LabelAndKind(
"test".into(),
crate::CompletionItemKind::Role,
)],
SETUP,
vec![
CompletionAssertion::LabelAndKind("admin".into(), crate::CompletionItemKind::Role),
CompletionAssertion::LabelAndKind(
"test_login".into(),
crate::CompletionItemKind::Role,
),
CompletionAssertion::LabelAndKind(
"test_nologin".into(),
crate::CompletionItemKind::Role,
),
],
Some(SETUP),
&pool,
)
.await;
}

#[tokio::test]
async fn works_in_alter_role() {
#[sqlx::test(migrator = "pgt_test_utils::MIGRATIONS")]
async fn works_in_alter_role(pool: PgPool) {
assert_complete_results(
format!("alter role {}", CURSOR_POS).as_str(),
vec![CompletionAssertion::LabelAndKind(
"test".into(),
crate::CompletionItemKind::Role,
)],
SETUP,
vec![
CompletionAssertion::LabelAndKind("admin".into(), crate::CompletionItemKind::Role),
CompletionAssertion::LabelAndKind(
"test_login".into(),
crate::CompletionItemKind::Role,
),
CompletionAssertion::LabelAndKind(
"test_nologin".into(),
crate::CompletionItemKind::Role,
),
],
Some(SETUP),
&pool,
)
.await;
}
Expand Down
4 changes: 2 additions & 2 deletions crates/pgt_completions/src/relevance/scoring.rs
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ impl CompletionScore<'_> {
}
}

fn get_schema_name(&self) -> &str {
fn get_schema_name(&self) -> Option<&str> {
match self.data {
CompletionRelevanceData::Function(f) => Some(f.schema.as_str()),
CompletionRelevanceData::Table(t) => Some(t.schema.as_str()),
Expand Down Expand Up @@ -283,7 +283,7 @@ impl CompletionScore<'_> {
return;
}

let schema = match self.get_schema_name() {
let schema_name = match self.get_schema_name() {
Some(s) => s.to_string(),
None => return,
};
Expand Down
2 changes: 1 addition & 1 deletion crates/pgt_schema_cache/src/roles.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ mod tests {

let roles = &cache.roles;

let super_role = roles.iter().find(|r| r.name == "test_super").unwrap();
let super_role = roles.iter().find(|r| r.name == "admin").unwrap();
assert!(super_role.is_super_user);
assert!(super_role.can_create_db);
assert!(super_role.can_login);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
do $$
begin

if not exists (
select from pg_catalog.pg_roles
where rolname = 'admin'
Expand All @@ -20,4 +21,6 @@ if not exists (
) then
create role test_nologin;
end if;
end;

end
$$;
Loading