Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 11 12 13 14 15 16 17 [18] 19 20   вперед  Ctrl
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Bogdanov Andrey
iscrafm
и, по большому счету, подобное должно пресекаться еще при компиляции.
Покажете СУБД, где подобное пресекается еще при компиляции? Или все они настолько неудачны, что даже такой простой вещи осилить не могут?

я таких не знаю. Правда не со всеми работал, но думаю таких нет.
6 июл 10, 13:14    [9056357]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
iscrafm
нарушение зависимости
О, новый термин появился... "нарушение зависимости". Что за зверь?
6 июл 10, 13:14    [9056362]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
iscrafm
Bogdanov Andrey
iscrafm
и, по большому счету, подобное должно пресекаться еще при компиляции.
Покажете СУБД, где подобное пресекается еще при компиляции? Или все они настолько неудачны, что даже такой простой вещи осилить не могут?

я таких не знаю. Правда не со всеми работал, но думаю таких нет.

неудачным назван пример, а не СУБД. Причем достаточно однозначно.
6 июл 10, 13:15    [9056370]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
iscrafm
я таких не знаю. Правда не со всеми работал, но думаю таких нет.
Значит, с точки зрения большинства СУБД "неудачный пример" является вполне допустимым. У тут уже неважно, что думает об этом примере тот или иной член сообщества sql.ru - фактом является то, что в этом самом большинстве СУБД добавление колонки способно потенциально привести к неработающему коду и нормальные разработчики СУБД обязаны предусмотреть такое.
6 июл 10, 13:19    [9056395]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Gluk (Kazan)
ась?

Почувствуй разницу между "добавить столбцы" и "после изменений".
Добавление столбцов, конечно, изменение, но не любое изменение сводится
к добавлению сущностей. Ну и да, для тех СУБД, которые не компилируют
объекты при помещении в БД ревалидация нужна на любой чих.


1. Ну да, не любое :) К примеру, с тем чтобы после УДАЛЕНИЯ столбцов ревалидироваться, ваще никто не спорит
2. Вообще-то примеры показывают, что не только (и не столько) для них. Oracle компилирует объекты, а у тех кто не компилирует - чихи в рантайме (и это совсем другая история)
6 июл 10, 13:21    [9056413]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Bogdanov Andrey
iscrafm
нарушение зависимости
О, новый термин появился... "нарушение зависимости". Что за зверь?

поищите в гугле.
англоязычные варианты:
dependency violation
Dependency is not satisfiable
6 июл 10, 13:24    [9056441]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
vadiminfo
Member

Откуда: Обнинск
Сообщений: 4802
iscrafm

во-первых, не возможность, а необходимость. Во-вторых, эту самую необходимость никто не отрицает.

Да а мен казалось что кто-то отрицал. Иначе зачем было приводить примеры вообще?
Но если не отрицаете, то мыстль

iscrafm

Речь идет только о том, что пример такой необходимости явно неудачный и,

тоже не ясно на скока удачна. Пример, моно было бы считать не удачным, если бы добавление колонки никак не себя не проявило в плане ревалидации.

iscrafm

по большому счету, подобное должно пресекаться еще при компиляции.


Если признали необходимость, то уж на это забейте. Они потом исправят все. Удалят колонку. И все буит опять нормально. А оно пусть буит скомпелировано.
6 июл 10, 13:24    [9056444]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
iscrafm
SergSuper
пардон, а идея проверить валидацию объектов после изменений - она не на поверхности лежит?

на поверхности конечно. А с чем вопрос связан? Вроде необходимость проверки никто не отрицает.
да как-то Вы непоследовательны
с одной стороны заявляете что разработчики не должны писать неправильно, даже несмотря на то что сервер такое позволяет (да и вообще неправильность - это Ваша субъективная оценка)
с другой стороны опасаетесь что разработчики могут не проверить наличие невалидных объектов

ну раз необходимость проверки всё-таки есть (а я бы сказал еще и тестирования) - то что ж плохого в наличии возможности невалидности?
6 июл 10, 13:57    [9056814]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
SergSuper
iscrafm
SergSuper
пардон, а идея проверить валидацию объектов после изменений - она не на поверхности лежит?

на поверхности конечно. А с чем вопрос связан? Вроде необходимость проверки никто не отрицает.
да как-то Вы непоследовательны
с одной стороны заявляете что разработчики не должны писать неправильно, даже несмотря на то что сервер такое позволяет (да и вообще неправильность - это Ваша субъективная оценка)
с другой стороны опасаетесь что разработчики могут не проверить наличие невалидных объектов

ну раз необходимость проверки всё-таки есть (а я бы сказал еще и тестирования) - то что ж плохого в наличии возможности невалидности?

не запутаете!
речь идет о том, что на вопрос в необходимости проверки при добавлении нового поля приведен этот знаменитый пример. Говорится о том, что пример явно неудачный, что за такое разработчиков нужно в сад отправлять, но никак не о другом.
6 июл 10, 14:18    [9057051]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
iscrafm
SergSuper
iscrafm
SergSuper
пардон, а идея проверить валидацию объектов после изменений - она не на поверхности лежит?

на поверхности конечно. А с чем вопрос связан? Вроде необходимость проверки никто не отрицает.
да как-то Вы непоследовательны
с одной стороны заявляете что разработчики не должны писать неправильно, даже несмотря на то что сервер такое позволяет (да и вообще неправильность - это Ваша субъективная оценка)
с другой стороны опасаетесь что разработчики могут не проверить наличие невалидных объектов

ну раз необходимость проверки всё-таки есть (а я бы сказал еще и тестирования) - то что ж плохого в наличии возможности невалидности?

не запутаете!
речь идет о том, что на вопрос в необходимости проверки при добавлении нового поля приведен этот знаменитый пример. Говорится о том, что пример явно неудачный, что за такое разработчиков нужно в сад отправлять, но никак не о другом.


По этому поводу говориться, что не имеет значения куда отправлять разработчиков. Пока они могут так писать (а могут они так, поскольку могут и в других СУБД), СУБД должна предпринимать вполне определенные действия по этому поводу.
6 июл 10, 14:25    [9057119]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54803

Gluk (Kazan)

2. Вообще-то примеры показывают, что не только (и не столько) для них.
Oracle компилирует объекты, а у тех кто не компилирует - чихи в рантайме

Но он их компилирует не при занесении, а при использовании. И кроме
того, перекомпилирует по собственной инициативе. Перейдём прямо к
тестам. Firebird справляется с таким скриптом, поскольку добавление поля
не приводит к перекомпиляции зависимостей:
SQL>create table a (x integer);
SQL>commit;
SQL>insert into a values (1);
SQL>commit;
SQL>create table b (y integer);
SQL>commit;
SQL>insert into b values (2);
SQL>commit;
SQL>create view v (x, y) as select x, y from a, b;
SQL>commit;
SQL>select * from v;

            X            Y
============ ============
            1            2

SQL>commit;
SQL>alter table b add x varchar(10);
SQL>commit;
SQL>select * from v;

            X            Y
============ ============
            1            2

SQL>select x,y from a,b;
Statement failed, SQLCODE = -204
Dynamic SQL Error
-SQL error code = -204
-Ambiguous field name between table A and table B
-X
After line 16 in file comptest.sql
А что на этот скрипт скажет Оракул или (чтобы не удаляться от топика) MS
c PG?

Posted via ActualForum NNTP Server 1.4

6 июл 10, 14:32    [9057191]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
Gluk (Kazan)
По этому поводу говориться, что не имеет значения куда отправлять разработчиков. Пока они могут так писать (а могут они так, поскольку могут и в других СУБД), СУБД должна предпринимать вполне определенные действия по этому поводу.

она и предпринимает.
6 июл 10, 14:38    [9057272]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
Dimitry Sibiryakov,

BEGIN;
create table a (x integer);
insert into a values (1);

create table b (y integer);
insert into b values (2);
create view v (x, y) as select x, y from a, b;

select * from v;


          X            Y
============ ============
1 2

alter table b add x varchar(10);
select * from v;
            X            Y
============ ============
1 2
select x,y from a,b;

ERROR:  column reference "x" is ambiguous
LINE 1: select x,y from a,b
^
6 июл 10, 14:41    [9057309]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
Dimitry Sibiryakov,
И ещё, при создании вьюшки форма запроса будет изменена на корректный, с псевдонимами.
6 июл 10, 14:43    [9057337]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

А что на этот скрипт скажет Оракул или (чтобы не удаляться от топика) MS
c PG?


Oracle инвалидирует view, скомпилировать которую, без исправления запроса не удастся.
И это правильно.

В твоем примере получилось view и запрос на базе которой он построен, причем сурпрайззз одна работает а другой нет А это уже повод долго чесать репу (в более сложных случаях, разумеется). Из этого следует что Oracle более дружественен к разработчикам :)
6 июл 10, 14:47    [9057381]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
ОКТОГЕН
Dimitry Sibiryakov,
И ещё, при создании вьюшки форма запроса будет изменена на корректный, с псевдонимами.


Ага, давайте СУБД вообще весь код будет писать за нас.
А чо - прикольна. Ввел одно - сохранилось совсем другое :)
6 июл 10, 14:49    [9057400]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
iscrafm
SergSuper
iscrafm
SergSuper
пардон, а идея проверить валидацию объектов после изменений - она не на поверхности лежит?

на поверхности конечно. А с чем вопрос связан? Вроде необходимость проверки никто не отрицает.
да как-то Вы непоследовательны
с одной стороны заявляете что разработчики не должны писать неправильно, даже несмотря на то что сервер такое позволяет (да и вообще неправильность - это Ваша субъективная оценка)
с другой стороны опасаетесь что разработчики могут не проверить наличие невалидных объектов

ну раз необходимость проверки всё-таки есть (а я бы сказал еще и тестирования) - то что ж плохого в наличии возможности невалидности?

не запутаете!
речь идет о том, что на вопрос в необходимости проверки при добавлении нового поля приведен этот знаменитый пример. Говорится о том, что пример явно неудачный, что за такое разработчиков нужно в сад отправлять, но никак не о другом.
а в чем я запутываю? тут простая дилемма: либо вы допускаете что разработчик что-то должен как-то себя ограничивать, иметь какие-то свои проверки, либо он делает как хочет, но в рамках, ограниченных сервером
выясняется что второй вариант не проходит, есть какие-то правила, которые нарушать нельзя
вот я и не понимаю чем эти правила принципиально сложнее чем "написал - проверь валидность за собой"

ну а что касается за такое разработчиков нужно в сад отправлять...
знаете, я работаю над продуктом, который разрабатывала (и продолжает разрабатывать) не одна сотня человек
и смотря чужие тексты мне чуть ли не половину хочется отправить в сад (не исключаю что и меня кто-то тоже хочет отправить)
однако это работает и хорошо продаётся
так что сад - это не показатель
6 июл 10, 14:51    [9057421]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
ОКТОГЕН
Dimitry Sibiryakov,
И ещё, при создании вьюшки форма запроса будет изменена на корректный, с псевдонимами.
это как в Экселе делает Квери билдер? Ужос!!!
6 июл 10, 14:53    [9057448]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
SergSuper
ОКТОГЕН
Dimitry Sibiryakov,
И ещё, при создании вьюшки форма запроса будет изменена на корректный, с псевдонимами.
это как в Экселе делает Квери билдер? Ужос!!!

Ага. Когда размер запроса приближается к одному экрану, без мата на
это смотреть очень больно. Приходится дуплить в комментах код в нормальном виде.
6 июл 10, 15:04    [9057571]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Bogdanov Andrey
Member

Откуда: Да уже и сам не знаю...
Сообщений: 2203
Dimitry Sibiryakov
Перейдём прямо к
тестам. Firebird справляется с таким скриптом, поскольку добавление поля
не приводит к перекомпиляции зависимостей
Честно скажу меня описанное поведение очень напрягает. Как там выразился один из участников форума - "Это все равно что нагадить под себя, а потом говорить "зачем убирать? Оно мне не мешает, потом когда-нибудь уберу" "

Крайне неприятно дорабатывая процедуру (а еще лучше пакет) лет через пять после добавления колонки вдруг обнаружить, что там ничерта не компилируется в местах никак не связанных с последним изменением.
6 июл 10, 15:13    [9057678]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
iscrafm
Member [заблокирован]

Откуда:
Сообщений: 35345
SergSuper,

т.е. Вы считаете, что для разработчика вполне нормально писать такие запросы? уточните плз.
6 июл 10, 15:20    [9057772]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
iscrafm
SergSuper,

т.е. Вы считаете, что для разработчика вполне нормально писать такие запросы? уточните плз.
не вижу смысла уточнять, это к теме разговора никак не относится
6 июл 10, 15:33    [9057901]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 54803

Bogdanov Andrey

Крайне неприятно дорабатывая процедуру (а еще лучше пакет) лет через
пять после добавления колонки вдруг обнаружить, что там ничерта не
компилируется в местах никак не связанных с последним изменением.

Но это всё же приятнее, чем обнаружить что она перестала работать, в
момент вызова. Хотя бы потому, что вызывает процедуру пользователь,
неспособный что-либо с процедурой сделать, а дорабатывает всё же
какой-никакой, а разработчик, способный сообщение об ошибке понять и
ошибку исправить.

Posted via ActualForum NNTP Server 1.4

6 июл 10, 15:40    [9057987]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
Gluk (Kazan)
Member

Откуда:
Сообщений: 9365
Dimitry Sibiryakov

Bogdanov Andrey

Крайне неприятно дорабатывая процедуру (а еще лучше пакет) лет через
пять после добавления колонки вдруг обнаружить, что там ничерта не
компилируется в местах никак не связанных с последним изменением.

Но это всё же приятнее, чем обнаружить что она перестала работать, в
момент вызова. Хотя бы потому, что вызывает процедуру пользователь,
неспособный что-либо с процедурой сделать, а дорабатывает всё же
какой-никакой, а разработчик, способный сообщение об ошибке понять и
ошибку исправить.


Это в MS SQL-е так обнаруживают (или обнаруживали, не знаю как с этим сейчас обстоит).
А в Oracle, после таких DDL-ей перекомпилируют инвалидов, шоб вы знали
6 июл 10, 15:43    [9058018]     Ответить | Цитировать Сообщить модератору
 Re: Десять главных недостатков PostgreSQL - сравнение MS SQL и PostgreSQL  [new]
ОКТОГЕН
Member

Откуда:
Сообщений: 2498
Gluk (Kazan),А можно ли в оракле каскадно проверить валидность всех объектов,
которые зависят от одного объекта, с которым мы работаем?
И что будет при обнаружении инвалида с остальными объектами в
дереве(останутся валидными или нет)?
6 июл 10, 15:50    [9058130]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 11 12 13 14 15 16 17 [18] 19 20   вперед  Ctrl
Все форумы / Сравнение СУБД Ответить