Slashdot Mirror


Oracle's Infrastructure Now Fully Linux-ized

mbadolato writes "An article over at InformationWeek reports Oracle is aggressively adopting Linux both internally and for its products, despite SCO Group's threats earlier this week that it may sue those who don't pay licensing fees to the company. Chuck Rozwat, an Oracle executive VP, says the company has moved its IT infrastructure to Linux, a year after CEO Larry Ellis issued the mandate. In the coming year, Oracle will move its base development platform to Linux, including putting the open-source operating system on the workstations of 8,000 developers"

1 of 273 comments (clear)

  1. Re:MySQL/Oracle = Apple/Orange by kcbrown · · Score: 5, Informative
    The only way to edit a column definition is to delete it and readd it with the correct properties, which means taking the DB offline, copying the whole table to a temporary table, deleting the offending column, readding the column, and then moving all of the data back into the old table from the temporary one, and now since your columns are in a different order, you have to play fun games to get that to work right.. then you can delete the temporary table, and put the DB back online, PURE TORTURE.

    You, sir, are full of shit. Witness (the output isn't exactly what you'd see because of the crappy lameness filter and the limited Slashdot HTML options):

    kevin> \d
    No relations found.
    kevin> create table foo (x integer, y varchar(20), z float);
    CREATE TABLE
    kevin> insert into foo (x, y, z) values (2, 'hello', 20.5);
    INSERT 16997 1
    kevin> select * from foo;
    x y z
    2 hello 20.5
    (1 row)

    kevin> begin;
    BEGIN
    kevin> alter table foo add column z2 integer;
    ALTER TABLE
    kevin> update foo set z2 = z;
    UPDATE 1
    kevin> alter table foo drop column z;
    ALTER TABLE
    kevin> alter table foo rename column z2 to z;
    ALTER TABLE
    kevin> select * from foo;
    x y z
    2 hello 20
    (1 row)

    kevin> \d foo
    Table "public.foo"
    Column Type Modifiers
    x integer
    y character varying(20)
    z integer

    kevin> rollback;
    ROLLBACK
    kevin> \d foo
    Table "public.foo"
    Column Type Modifiers
    x integer
    y character varying(20)
    z double precision

    So: not only can you do the operation without taking the database down, you can do it while within a transaction, and even rollback the entire change if you screw up!

    This is under PostgreSQL 7.3.3.

    Try that with your vaunted MySQL.

    --
    Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.