1
0
mirror of https://github.com/postgres/postgres.git synced 2025-09-03 15:22:11 +03:00
Subject: Re: [PATCHES] SET DateStyle patches

On Tue, 22 Apr 1997, Thomas Lockhart wrote:

> Some more patches! These (try to) finish implementing SET variable TO value
> for "DateStyle" (changed the name from simply "date" to be more descriptive).
> This is based on code from Martin and Bruce (?), which was easy to modify.
> The syntax is
>
> SET DateStyle TO 'iso'
> SET DateStyle TO 'postgres'
> SET DateStyle TO 'sql'
> SET DateStyle TO 'european'
> SET DateStyle TO 'noneuropean'
> SET DateStyle TO 'us'         (same as "noneuropean")
> SET DateStyle TO 'default'    (current same as "postgres,us")
>
> ("european" is just compared for the first 4 characters, and "noneuropean"
> is compared for the first 7 to allow less typing).
>
> Multiple arguments are allowed, so SET datestyle TO 'sql,euro' is valid.
>
> My mods also try to implement "SHOW variable" and "RESET variable", but
> that part just core dumps at the moment. I would guess that my errors
> are obvious to someone who knows what they are doing with the parser stuff,
> so if someone (Bruce and/or Martin??) could have it do the right thing
> we will have a more complete set of what we need.
>
> Also, I would like to have a floating point precision global variable to
> implement "SET precision TO 10" and perhaps "SET precision TO 10,2" for
> float8 and float4, but I don't know how to do that for integer types rather
> than strings. If someone is fixing the SHOW and RESET code, perhaps they can
> add some hooks for me to do the floats while they are at it.
>
> I've left some remnants of variable structures in the source code which
> I did not use in the interests of getting something working for v6.1.
> We'll have time to clean things up for the next release...
This commit is contained in:
Marc G. Fournier
1997-04-23 03:18:27 +00:00
parent cf398593fd
commit 4b5319129c
7 changed files with 392 additions and 41 deletions

View File

@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: nodes.h,v 1.7 1997/04/02 18:24:38 scrappy Exp $
* $Id: nodes.h,v 1.8 1997/04/23 03:17:29 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@@ -180,6 +180,8 @@ typedef enum NodeTag {
T_ExplainStmt,
T_CreateSeqStmt,
T_VariableSetStmt,
T_VariableShowStmt,
T_VariableResetStmt,
T_A_Expr = 700,
T_Attr,

View File

@@ -1,9 +1,49 @@
/*
* Headers for handling of SET var TO statements
*
* $Id: variable.h,v 1.2 1997/04/17 13:50:57 scrappy Exp $
* $Id: variable.h,v 1.3 1997/04/23 03:17:52 scrappy Exp $
*
* $Log: variable.h,v $
* Revision 1.3 1997/04/23 03:17:52 scrappy
* To: Thomas Lockhart <Thomas.G.Lockhart@jpl.nasa.gov>
* Subject: Re: [PATCHES] SET DateStyle patches
*
* On Tue, 22 Apr 1997, Thomas Lockhart wrote:
*
* > Some more patches! These (try to) finish implementing SET variable TO value
* > for "DateStyle" (changed the name from simply "date" to be more descriptive).
* > This is based on code from Martin and Bruce (?), which was easy to modify.
* > The syntax is
* >
* > SET DateStyle TO 'iso'
* > SET DateStyle TO 'postgres'
* > SET DateStyle TO 'sql'
* > SET DateStyle TO 'european'
* > SET DateStyle TO 'noneuropean'
* > SET DateStyle TO 'us' (same as "noneuropean")
* > SET DateStyle TO 'default' (current same as "postgres,us")
* >
* > ("european" is just compared for the first 4 characters, and "noneuropean"
* > is compared for the first 7 to allow less typing).
* >
* > Multiple arguments are allowed, so SET datestyle TO 'sql,euro' is valid.
* >
* > My mods also try to implement "SHOW variable" and "RESET variable", but
* > that part just core dumps at the moment. I would guess that my errors
* > are obvious to someone who knows what they are doing with the parser stuff,
* > so if someone (Bruce and/or Martin??) could have it do the right thing
* > we will have a more complete set of what we need.
* >
* > Also, I would like to have a floating point precision global variable to
* > implement "SET precision TO 10" and perhaps "SET precision TO 10,2" for
* > float8 and float4, but I don't know how to do that for integer types rather
* > than strings. If someone is fixing the SHOW and RESET code, perhaps they can
* > add some hooks for me to do the floats while they are at it.
* >
* > I've left some remnants of variable structures in the source code which
* > I did not use in the interests of getting something working for v6.1.
* > We'll have time to clean things up for the next release...
*
* Revision 1.2 1997/04/17 13:50:57 scrappy
* From: "Martin J. Laubach" <mjl@CSlab.tuwien.ac.at>
* Subject: [HACKERS] Patch: set date to euro/us postgres/iso/sql
@@ -41,8 +81,5 @@ extern struct PGVariables PGVariables;
/*-----------------------------------------------------------------------*/
bool SetPGVariable(const char *, const char *);
const char *GetPGVariable(const char *);
/*-----------------------------------------------------------------------*/
bool SetPGVariable(const char *, const char *);
const char *GetPGVariable(const char *);
bool GetPGVariable(const char *);
bool ResetPGVariable(const char *);