Re: [HACKERS] Tab completion for CREATE SEQUENCE

2015-08-12 Thread Robert Haas
On Wed, Aug 12, 2015 at 9:22 AM, Vik Fearing  wrote:
> Thank you, Brendan, Michael, and Robert for taking care of this while I
> was away.

Thanks for the patch!

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Tab completion for CREATE SEQUENCE

2015-08-12 Thread Vik Fearing
On 08/04/2015 06:30 PM, Robert Haas wrote:
> On Mon, Aug 3, 2015 at 2:17 AM, Michael Paquier
>  wrote:
>> On Tue, Jul 7, 2015 at 9:14 PM, Andres Freund  wrote:
>>> On 2015-06-19 06:41:19 +, Brendan Jurd wrote:
 I'm marking this "Waiting on Author".  Once the problems have been
 corrected, it should be ready for a committer.
>>>
>>> Vik, are you going to update the patch?
>>
>> Seeing no activity on this thread and as it would be a waste not to do
>> it, I completed the patch as attached. The following things are done:
>> - Fixed code indentation
>> - Removal of "RESTART", "SET SCHEMA", "OWNER TO", and "RENAME TO" in
>> CREATE SEQUENCE
>> - Added "START WITH".
>> - Added TEMP/TEMPORARY in the set of keywords tracked.
>> I am switching at the same time this patch as "Ready for committer".
> 
> You didn't remove RESTART, so I did that.  And this needed some more
> parentheses to make my compiler happy.
> 
> Committed with those changes.

Thank you, Brendan, Michael, and Robert for taking care of this while I
was away.
-- 
Vik Fearing  +33 6 46 75 15 36
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Tab completion for CREATE SEQUENCE

2015-08-04 Thread Robert Haas
On Mon, Aug 3, 2015 at 2:17 AM, Michael Paquier
 wrote:
> On Tue, Jul 7, 2015 at 9:14 PM, Andres Freund  wrote:
>> On 2015-06-19 06:41:19 +, Brendan Jurd wrote:
>>> I'm marking this "Waiting on Author".  Once the problems have been
>>> corrected, it should be ready for a committer.
>>
>> Vik, are you going to update the patch?
>
> Seeing no activity on this thread and as it would be a waste not to do
> it, I completed the patch as attached. The following things are done:
> - Fixed code indentation
> - Removal of "RESTART", "SET SCHEMA", "OWNER TO", and "RENAME TO" in
> CREATE SEQUENCE
> - Added "START WITH".
> - Added TEMP/TEMPORARY in the set of keywords tracked.
> I am switching at the same time this patch as "Ready for committer".

You didn't remove RESTART, so I did that.  And this needed some more
parentheses to make my compiler happy.

Committed with those changes.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Tab completion for CREATE SEQUENCE

2015-08-02 Thread Michael Paquier
On Tue, Jul 7, 2015 at 9:14 PM, Andres Freund  wrote:
> On 2015-06-19 06:41:19 +, Brendan Jurd wrote:
>> I'm marking this "Waiting on Author".  Once the problems have been
>> corrected, it should be ready for a committer.
>
> Vik, are you going to update the patch?

Seeing no activity on this thread and as it would be a waste not to do
it, I completed the patch as attached. The following things are done:
- Fixed code indentation
- Removal of "RESTART", "SET SCHEMA", "OWNER TO", and "RENAME TO" in
CREATE SEQUENCE
- Added "START WITH".
- Added TEMP/TEMPORARY in the set of keywords tracked.
I am switching at the same time this patch as "Ready for committer".
Regards,
-- 
Michael
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index ece0515..0748284 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -2467,6 +2467,35 @@ psql_completion(const char *text, int start, int end)
 			 pg_strcasecmp(prev_wd, "TO") == 0)
 		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
 
+/* CREATE TEMP/TEMPORARY SEQUENCE  */
+	else if ((pg_strcasecmp(prev3_wd, "CREATE") == 0 &&
+			  pg_strcasecmp(prev2_wd, "SEQUENCE") == 0) ||
+			 (pg_strcasecmp(prev4_wd, "CREATE") == 0 &&
+			  (pg_strcasecmp(prev3_wd, "TEMP") == 0 ||
+			   pg_strcasecmp(prev3_wd, "TEMPORARY") == 0) &&
+			  pg_strcasecmp(prev2_wd, "SEQUENCE") == 0))
+	{
+		static const char *const list_CREATESEQUENCE[] =
+		{"INCREMENT BY", "MINVALUE", "MAXVALUE", "RESTART", "NO", "CACHE",
+		 "CYCLE", "OWNED BY", "START WITH", NULL};
+
+		COMPLETE_WITH_LIST(list_CREATESEQUENCE);
+	}
+/* CREATE TEMP/TEMPORARY SEQUENCE  NO */
+	else if ((pg_strcasecmp(prev4_wd, "CREATE") == 0 &&
+			  pg_strcasecmp(prev3_wd, "SEQUENCE") == 0) ||
+			 (pg_strcasecmp(prev5_wd, "CREATE") == 0 &&
+			  (pg_strcasecmp(prev4_wd, "TEMP") == 0 ||
+			   pg_strcasecmp(prev4_wd, "TEMPORARY") == 0) &&
+			  pg_strcasecmp(prev3_wd, "SEQUENCE") == 0) &&
+			 pg_strcasecmp(prev_wd, "NO") == 0)
+	{
+		static const char *const list_CREATESEQUENCE2[] =
+		{"MINVALUE", "MAXVALUE", "CYCLE", NULL};
+
+		COMPLETE_WITH_LIST(list_CREATESEQUENCE2);
+	}
+
 /* CREATE SERVER  */
 	else if (pg_strcasecmp(prev3_wd, "CREATE") == 0 &&
 			 pg_strcasecmp(prev2_wd, "SERVER") == 0)

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Tab completion for CREATE SEQUENCE

2015-07-07 Thread Andres Freund
On 2015-06-19 06:41:19 +, Brendan Jurd wrote:
> I'm marking this "Waiting on Author".  Once the problems have been
> corrected, it should be ready for a committer.

Vik, are you going to update the patch?


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Tab completion for CREATE SEQUENCE

2015-06-18 Thread Brendan Jurd
On Tue, 16 Jun 2015 at 00:52 Vik Fearing  wrote:

> While reviewing the seqam patches, I noticed that psql has tab
> completion for ALTER SEQUENCE, but not for CREATE SEQUENCE.
>
> The attached trivial patch fixes that.
>

Hi Vik,

I'm doing an initial review of this patch.

It applies cleanly, although for some reason the patch seems to introduce
carriage returns in the line endings.  `patch` warned about those and then
very sensibly ignored them.  Everything compiled fine after applying.

The new code's style is not quite in accordance with the surrounds.  I
think that the comments introducing each section should be de-indented to
the first column.

"RESTART", "SET SCHEMA", "OWNER TO", and "RENAME TO" are not valid
completions for CREATE SEQUENCE.  It looks like these have been blindly
copy-pasted from ALTER SEQUENCE.  Likewise, the valid completion "START
[WITH]" is missing.

"CREATE TEMP[ORARY] SEQUENCE" is not supported, and I think it probably
should be.  I think that the patch could be improved with support for the
TEMP form fairly easily.

Apart from the above points, the new completions worked as advertised.

Docs: none needed.

Tests: we don't currently have any test coverage for psql tab completion.

I'm marking this "Waiting on Author".  Once the problems have been
corrected, it should be ready for a committer.

Cheers,
BJ


[HACKERS] Tab completion for CREATE SEQUENCE

2015-06-15 Thread Vik Fearing
While reviewing the seqam patches, I noticed that psql has tab
completion for ALTER SEQUENCE, but not for CREATE SEQUENCE.

The attached trivial patch fixes that.
-- 
Vik Fearing  +33 6 46 75 15 36
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support
*** a/src/bin/psql/tab-complete.c
--- b/src/bin/psql/tab-complete.c
***
*** 2445,2450  psql_completion(const char *text, int start, int end)
--- 2445,2471 
  			 pg_strcasecmp(prev_wd, "TO") == 0)
  		COMPLETE_WITH_SCHEMA_QUERY(Query_for_list_of_tables, NULL);
  
+ 	/* CREATE SEQUENCE  */
+ 	else if (pg_strcasecmp(prev3_wd, "CREATE") == 0 &&
+ 			 pg_strcasecmp(prev2_wd, "SEQUENCE") == 0)
+ 	{
+ 		static const char *const list_CREATESEQUENCE[] =
+ 		{"INCREMENT", "MINVALUE", "MAXVALUE", "RESTART", "NO", "CACHE", "CYCLE",
+ 		"SET SCHEMA", "OWNED BY", "OWNER TO", "RENAME TO", NULL};
+ 
+ 		COMPLETE_WITH_LIST(list_CREATESEQUENCE);
+ 	}
+ 	/* CREATE SEQUENCE  NO */
+ 	else if (pg_strcasecmp(prev4_wd, "CREATE") == 0 &&
+ 			 pg_strcasecmp(prev3_wd, "SEQUENCE") == 0 &&
+ 			 pg_strcasecmp(prev_wd, "NO") == 0)
+ 	{
+ 		static const char *const list_CREATESEQUENCE2[] =
+ 		{"MINVALUE", "MAXVALUE", "CYCLE", NULL};
+ 
+ 		COMPLETE_WITH_LIST(list_CREATESEQUENCE2);
+ 	}
+ 
  /* CREATE SERVER  */
  	else if (pg_strcasecmp(prev3_wd, "CREATE") == 0 &&
  			 pg_strcasecmp(prev2_wd, "SERVER") == 0)

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers