2014-06-23 18:00 GMT+02:00 Kevin Grittner <kgri...@ymail.com>:

> Andrew Dunstan <and...@dunslane.net> wrote:
> > On 06/23/2014 10:51 AM, rohtodeveloper wrote:
>
> >> Our application will be switched from SQL Server to PostgreSQL.
> >> However, a few functions are not supported yet. So we decided to
> >> extend it.
> >>
> >> The functions are as following:
> >>
> >> 1.SQL statement support
> >>   INSERT statement without INTO keyword
> >>   DELETE statement without FROM keywork
>
> Those would be pretty trivial to do in core; the question is
> whether the community would agree that a few extra lines in the
> parser (and compatibility sections of the docs) is worth it for
> portability from SQL Server and Sybase.
>

I am strongly against - it is murder of ANSI SQL

Regards

Pavel


>
> >> 2.Build-in function
> >>   SQUARE
> >>   CHAR
> >>   CHARINDEX
> >>   LEN
> >>   REPLICATE
> >>   SPACE
> >>   STR
> >>   STUFF
> >>   CONVERT
> >>   DATALENGTH
> >>   DATEADD
> >>   DATEDIFF
> >>   DATEPART
> >>   DAY
> >>   MONTH
> >>   YEAR
> >>   EOMONTH
> >>   GETDATE
> >>   SYSDATETIME
> >> 3.Operator
> >>   operator !< (Not Less Than)
> >>   operator !> (Not Greater Than)
> >>   operator + (String Concatenation)
>
> It seems likely that you could write an extension to add these
> (using the CREATE EXTENSION feature) and submit them to
> http://pgxn.org if you wanted to.  Is there some reason you're not
> going this route?
>
> >> 4.Other
> >>   DataType support(smalldatetime,datetime,datatime2,uniqueidentifer)
> >>   Date, Time, and Timestamp Escape Sequences ODBC Scalar Functions
> >>   OCTET_LENGTH
> >>   CURRENT_DATE
> >>   CURRENT_TIME
>
> You can add data types (including within extensions), and some of
> those are things which seem to be implemented in some form.
>
> test=# select current_date;
>     date
> ------------
>  2014-06-23
> (1 row)
>
> test=# select current_time;
>        timetz
> --------------------
>  10:44:36.958967-05
> (1 row)
>
> test=# select octet_length('abcd');
>  octet_length
> --------------
>             4
> (1 row)
>
> test=# select octet_length('π');
>  octet_length
> --------------
>             2
> (1 row)
>
> If the point is that you want to change the semantics of existing
> valid PostgreSQL statements, that's probably not a good idea.
>
> >> The extended functions are almost completed but your opinion is very
> >> important to us.
> >> Would you please help us to review the extended source?
>
> http://wiki.postgresql.org/wiki/Submitting_a_Patch
>
> >> The attachments is the diff source.
>
> I think if you want someone to look at this, you really need to
> provide a single file with a unified or context diff of the entire
> source trees.  And you may have trouble finding anyone willing to
> review it for free unless you are explicitly looking to share the
> code for free.
>
> > I think this effort is fundamentally misguided. It will mean a
> > maintenance nightmare for you. You would be much better off migrating
> > your app to rid it of these SQLServerisms, especially those that require
> > backend changes. If you have layered your application correctly, so that
> > the places it calls SQL are relatively confined, then this should not be
> > terribly difficult. If you have not, then you have bigger problems than
> > these anyway.
>
> There is certainly something to that point of view, but
> implementing compatibility shims can reduce the effort of
> migration, and isn't always a bad idea.  One thing which is just
> going to need to be fixed in the application code is any instance
> of UPDATE with a FROM clause.  SQL Server and PostgreSQL both have
> non-standard extensions which support such syntax, but with
> different semantics, so such a statement written for SQL Server
> will probably run without throwing an error under PostgreSQL, but
> will not do what it did under SQL Server.  In many cases it will
> run for a *very* long time, and if allowed to finish will probably
> update rows which were not intended.
>
> --
> Kevin Grittner
> EDB: 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
>

Reply via email to