Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit76f9dd4

Browse files
committed
Improve tab completion for BEGIN & START|SET TRANSACTION.
Andreas Karlsson with minor change by me for SET TRANSACTIONSNAPSHOT.
1 parent6c03d98 commit76f9dd4

File tree

1 file changed

+27
-8
lines changed

1 file changed

+27
-8
lines changed

‎src/bin/psql/tab-complete.c

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1894,8 +1894,11 @@ psql_completion(const char *text, int start, int end)
18941894
elseif (Matches5("ALTER","GROUP",MatchAny,"ADD|DROP","USER"))
18951895
COMPLETE_WITH_QUERY(Query_for_list_of_roles);
18961896

1897-
/* BEGIN, END, ABORT */
1898-
elseif (Matches1("BEGIN|END|ABORT"))
1897+
/* BEGIN */
1898+
elseif (Matches1("BEGIN"))
1899+
COMPLETE_WITH_LIST6("WORK","TRANSACTION","ISOLATION LEVEL","READ","DEFERRABLE","NOT DEFERRABLE");
1900+
/* END, ABORT */
1901+
elseif (Matches1("END|ABORT"))
18991902
COMPLETE_WITH_LIST2("WORK","TRANSACTION");
19001903
/* COMMIT */
19011904
elseif (Matches1("COMMIT"))
@@ -2762,20 +2765,36 @@ psql_completion(const char *text, int start, int end)
27622765
elseif (Matches1("SHOW"))
27632766
COMPLETE_WITH_QUERY(Query_for_list_of_show_vars);
27642767
/* Complete "SET TRANSACTION" */
2765-
elseif (Matches2("SET|BEGIN|START","TRANSACTION")||
2768+
elseif (Matches2("SET","TRANSACTION"))
2769+
COMPLETE_WITH_LIST5("SNAPSHOT","ISOLATION LEVEL","READ","DEFERRABLE","NOT DEFERRABLE");
2770+
elseif (Matches2("BEGIN|START","TRANSACTION")||
27662771
Matches2("BEGIN","WORK")||
2772+
Matches1("BEGIN")||
27672773
Matches5("SET","SESSION","CHARACTERISTICS","AS","TRANSACTION"))
2768-
COMPLETE_WITH_LIST2("ISOLATION LEVEL","READ");
2774+
COMPLETE_WITH_LIST4("ISOLATION LEVEL","READ","DEFERRABLE","NOT DEFERRABLE");
2775+
elseif (Matches3("SET|BEGIN|START","TRANSACTION|WORK","NOT")||
2776+
Matches2("BEGIN","NOT")||
2777+
Matches6("SET","SESSION","CHARACTERISTICS","AS","TRANSACTION","NOT"))
2778+
COMPLETE_WITH_CONST("DEFERRABLE");
27692779
elseif (Matches3("SET|BEGIN|START","TRANSACTION|WORK","ISOLATION")||
2780+
Matches2("BEGIN","ISOLATION")||
27702781
Matches6("SET","SESSION","CHARACTERISTICS","AS","TRANSACTION","ISOLATION"))
27712782
COMPLETE_WITH_CONST("LEVEL");
2772-
elseif (Matches4("SET|BEGIN|START","TRANSACTION|WORK","ISOLATION","LEVEL"))
2783+
elseif (Matches4("SET|BEGIN|START","TRANSACTION|WORK","ISOLATION","LEVEL")||
2784+
Matches3("BEGIN","ISOLATION","LEVEL")||
2785+
Matches7("SET","SESSION","CHARACTERISTICS","AS","TRANSACTION","ISOLATION","LEVEL"))
27732786
COMPLETE_WITH_LIST3("READ","REPEATABLE READ","SERIALIZABLE");
2774-
elseif (Matches5("SET|BEGIN|START","TRANSACTION|WORK","ISOLATION","LEVEL","READ"))
2787+
elseif (Matches5("SET|BEGIN|START","TRANSACTION|WORK","ISOLATION","LEVEL","READ")||
2788+
Matches4("BEGIN","ISOLATION","LEVEL","READ")||
2789+
Matches8("SET","SESSION","CHARACTERISTICS","AS","TRANSACTION","ISOLATION","LEVEL","READ"))
27752790
COMPLETE_WITH_LIST2("UNCOMMITTED","COMMITTED");
2776-
elseif (Matches5("SET|BEGIN|START","TRANSACTION|WORK","ISOLATION","LEVEL","REPEATABLE"))
2791+
elseif (Matches5("SET|BEGIN|START","TRANSACTION|WORK","ISOLATION","LEVEL","REPEATABLE")||
2792+
Matches4("BEGIN","ISOLATION","LEVEL","REPEATABLE")||
2793+
Matches8("SET","SESSION","CHARACTERISTICS","AS","TRANSACTION","ISOLATION","LEVEL","REPEATABLE"))
27772794
COMPLETE_WITH_CONST("READ");
2778-
elseif (Matches3("SET|BEGIN|START","TRANSACTION|WORK","READ"))
2795+
elseif (Matches3("SET|BEGIN|START","TRANSACTION|WORK","READ")||
2796+
Matches2("BEGIN","READ")||
2797+
Matches6("SET","SESSION","CHARACTERISTICS","AS","TRANSACTION","READ"))
27792798
COMPLETE_WITH_LIST2("ONLY","WRITE");
27802799
/* SET CONSTRAINTS */
27812800
elseif (Matches2("SET","CONSTRAINTS"))

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp