MySQL 4.1 Features

From: "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au>
To: "Hackers" <pgsql-hackers(at)postgresql(dot)org>
Subject: MySQL 4.1 Features
Date: 2002-12-18 06:49:44
Message-ID: GNELIHDDFBOCMGBFGEFOGEKMCEAA.chriskl@familyhealth.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Looks like they've caught up on a lot of our features. I have to say I
appreciate them adding SERIAL as an alias for AUTO_INCREMENT. Perhaps we
should return the favour? :)

(BTW, sorry to ppl who aren't interested, but I think it's important to see
what other db's are doing. Also, someone asked me what kind of subselects
they support.)

The fact that they have GIS, subselects and prepared statements now is
interesting.

D.1.1 Changes in release 4.1.0

Faster binary protocol used with prepared statements.
In CREATE TABLE foo (a int not null primary key) the PRIMARY word is now
optional.
In CREATE TABLE the attribute SERIAL is now an alias for BIGINT NOT NULL
AUTO_INCREMENT UNIQUE.
SELECT ... FROM DUAL is an alias for SELECT .... (To be compatible with some
other databases).
If once creates a too long CHAR/VARCHAR it's now automatically changed to
TEXT or BLOB; One will get a warning in this case.
One can specify the different BLOB/TEXT types with the syntax BLOB(length)
and TEXT(length). MySQL will automatically change it to one of the internal
BLOB/TEXT types.
CHAR BYTE is an alias for CHAR BINARY.
VARCHARACTER is an alias for VARCHAR.
New operators integer MOD integer and integer DIV integer.
SERIAL DEFAULT VALUE is an alias for AUTO_INCREMENT.
TRUE and FALSE are added as alias for 0 and 1.
Aliases are now forced in derived tables, as per SQL-99
Fixed SELECT .. LIMIT 0 to return proper row count for SQL_CALC_FOUND_ROWS.
One can specify many temporary directories to be used in a round-robin
fashion with: --tmpdir=dirname1:dirname2:dirname3.
Subqueries: SELECT * from t1 where t1.a=(SELECT t2.b FROM t2).
Derived tables: SELECT a from t1, (select * from t2) WHERE t1.a=t2.a
Character sets to be defined per column, table and database.
Unicode (UTF8) support.
BTREE index on HEAP tables.
Faster embedded server.
One can add a comment per column in CREATE TABLE.
SHOW FULL COLUMNS FROM table_name shows column comments.
ALTER DATABASE.
Support for GIS (Geometrical data).
SHOW WARNINGS; Shows warnings from the last command.
One can specify a column type for a colum in CREATE TABLE ... SELECT by
defining the column in the CREATE part.
CREATE TABLE foo (a tinyint not null) SELECT b+1 AS 'a' FROM bar;
expr SOUNDS LIKE expr same as SOUNDEX(expr)=SOUNDEX(expr).
VARIANCE(expr) returns the standard variance of expr

Chris

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Philip Warner 2002-12-18 07:05:03 Re: MySQL 4.1 Features
Previous Message Bruce Momjian 2002-12-18 04:50:09 Re: 7.3.1 stamped