|
|
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Имхо ты не понял. kdvNickDee, на диаграммах (типа дизайнера БД или QueryBuilder) инструмент может не выводить двойные кавычки. Это облегчит визуальное восприятие. С остальным - несколько сложнее. Какие двойные кавычки? Ты видишь кавычки в приведённом мной SQL? Я не хочу кавычек нигде. Но я хочу в дизайнере видеть не uppercase-нутые имена. Зачем они там такие? Так повелось? :) kdvПредлагаемая в трекере фича imho абсурдна в том смысле, что редко какой инструмент будет ею пользоваться, а значит, ее важность ниже плинтуса. Воспользуются кто нужно. IBExpert бы давно воспользовался, если бы можно было. Дайте возможность. kdvНапример, как мы будем видеть в таком инструменте "Id" и Id ? "Id" всегда будет везде закавычиваться? При генерации SQL всё будет как сейчас, за исключением того, что идентификаторы без кавычек будут писаться в нормальном регистре. Код: sql 1. Сейчас будет сгенерирован такой select: Код: sql 1. Я хочу вот такой: Код: sql 1. Т.е. хочу сохранить оригинальный регистр незакавыченых имён. kdvА если я создаю таблицы в lowercase, тогда оно мне будет все в lowercase выводить?В зависимости от галки "Приводить имена к верхнему регистру" :) kdvТогда, чтобы было "Красиво", надо еще и этому инструменту уметь редактировать имена таких столбцов, и еще и давать возможность это делать в SQL. Инструменту это зачем? А в SQL уже есть ALTER. Правда его нет для таблиц, доменов и прочих объектов. kdvКороче, очередное "изобретение" NickDee :-)Интересная у тебя проекция в мой адрес:)kdvЯ бы скорее предложил uppercase объектов не делать при сохранении метаданных, а делать только при их чтении и "обработке" (типа prepare). Так поломаются много существующих программ. kdvНу и чтобы alter column alter name при равенстве (по uppercase) from и to просто заменял название поля (без последствий и зависимостей). Это да, но менять не название поля в RDB$FIELD_NAME, а менять его написание в RDB$SRC_FIELD_NAME. kdvp.s. вот уже давно IBExpert типа "швейцарский нож", и все чего-то не хватает (кому-то). Ну не будет в нем моделера как ER/Studio и др. Дизайнер там "наколенный". Да, полезен, но до определенного предела.Намекаешь что уже нужна IDE с более высоким уровнем полезности чем имеет IBExpert? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:03:55 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЭто автоматически станет невозможным, AFAIU. может в моей логике дыра... create table Test. Записываем в имя таблицы Test Далее, когда идет select * from test делаем upper для имени в select, и upper имени в rdb$relations. Совпадает? Замечательно. Теперь с двойными кавычками. По идее, они нужны чтобы втыкать в имена объектов дополнительные и национальные символы. Потому что иначе от меня ускользает смысл наличия в БД двух Test и tEst одновременно. Так вот, если мы пишем create table "tEst" мы получаем это имя в rdb$relations, но дальше ничего не меняется. Потому что это имя будет равно и test, и tEst, Test, и т.д. А если имя сложное, начинается с цифр, содержит дефисы и прочее, то без двойных кавычек это выдаст или ошибку или "объект не найден". А в двойных кавычках будет ок. Но с регистром букв тоже будет все равно, т.е. "Test" = "tEst". Однако, тут вроде получается проблема совместимости с предыдущими БД. Явно надо было Борланду в ИБ 6 сделать 3 диалект в этом плане сразу по человечески, а не "аки Оракл" (или "аки C++"). Или какой-нибудь переключатель тогда воткнуть. p.s. насколько я понял, в обычном режиме у MS SQL именно так: регистр сохраняется, но есть регистро-нечувствительность http://msdn.microsoft.com/en-us/library/aa290089(v=vs.71).aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:10:13 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
NickDee> Я хочу вот такой: NickDee> select Id, "Id" from T Тебе же русским языком говорят, что так нельзя. И никакой RDB$SRC_FIELD_NAME тут не поможет. > Интересная у тебя проекция в мой адрес:)kdv И не только у него. И тебе давно это говорили. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:10:38 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
NickDeeНо я хочу в дизайнере видеть не uppercase-нутые имена. Зачем они там такие? Так повелось? :) если убрать твои нагромождения в виде системных таблиц, то ты хочешь чтобы "было как в MS SQL", потому что сейчас "сделано как в Oracle". NickDeeИнтересная у тебя проекция в мой адрес:) возможно искаженная, но вроде бы ты регулярно слегка абсурдные идеи закидываешь. NickDeeТак поломаются много существующих программ. и где они поломаются? Разве что на отличии "Test" от "tesT". Покажите мне, кто так одновременно идентификаторы называет (кроме С++). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:14:22 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
NickDeeНамекаешь что уже нужна IDE с более высоким уровнем полезности чем имеет IBExpert? :) я намекаю что при моем решении ты в любой IDE будешь иметь плюсы с ВотТакимиИменами, автоматически, и без "двойных кавычек". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:15:41 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
kdvNickDee, короче, я за CORE-1645 .CORE-1645so queries select * from MyTABLE; select * from MYTABLE; select * from MyTAble; must result SQL ERROR: ambigious object name 'MyTABLE'/'MYTABLE'/'MyTAble'Это же огромное количество программ поломается сразу. И что-то я не пойму какая задача при этом решится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:16:28 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
kdv> может в моей логике дыра... Не в логике, а в том, что не учитываешь все случаи. Во-первых, "делать upper" и всё остальное не нужно, достаточно делать CI-сравнение (почти как сейчас), по крайней мере для незакавыченных столбцов. Во-вторых, повторюсь, все кавычки "сломаются" и "tA" станет равным tA. Хотя может и можно как-то обложить это кучей IF-ов (не уверен), но это будет типичная "рыбу заворачивали", что обычно никому не нравится, включая птицеводов и ДЕ в частности, а во-вторых, чудится мне, что обратная совместимость будет сломана нахрен как минимум на протяжении нескольких релизов. > Теперь с двойными кавычками Я не совсем понимаю, что такое "двойные кавычки". Это как есть сейчас но при предлагаемых изменениях или что? Нафиг они нужны вообще, если все доп. символы, кириллицу, японицу и арабику можно и сейчас повтыкать, в т.ч. одновременно ? P.S. Смотреть надо, ИМХО, не на MSSQL и Oracle (там тоже от не-латиницы в именах объектов не в восторге, я тебя уверяю), а на стандарт. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:18:02 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
NickDeeЭто же огромное количество программ поломается сразу. ты не все прочитал (и меня не прочитал). там у автора целая статья с размышлениями "на заданную тему". И я не со всеми вариантами согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:19:23 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
kdv> вроде бы ты регулярно слегка абсурдные идеи закидываешь. Это ещё мягко сказано. > Покажите мне, кто так одновременно идентификаторы называет (кроме С++). Проблема не в том, кто так называет, а в том, для чего в действительности нужен сабж (на практике). Хочешь писать маленькими/большими - пиши, хоть в венгерской нотации пиши. Закавычь всё - и радуйся маленьким буквам. Муха, слон, палец. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:21:50 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамВо-первых, "делать upper" и всё остальное не нужно, достаточно делать CI-сравнение (почти как сейчас), как угодно, главное - результат. Гаджимурадов РустамВо-вторых, повторюсь, все кавычки "сломаются" и "tA" станет равным tA. я это понимаю, и я только ЗА это. Возможно, потому, что я полагал (еще при выходе ИБ 6) что двойные кавычки нужны для имен типа "с пробелами", "1 с цифрами", "keyword", и "на русском языке". То есть с теми символами, которые парсер без кавычек переварить не в состоянии. Гаджимурадов Рустамобратная совместимость будет сломана нахрен как минимум на протяжении нескольких релизов. да, печаль, но сломаны будут только те базы, где есть "Та" и "тА" одновременно. В остальных случаях все будет работать. Гаджимурадов РустамСмотреть надо ... на стандарт. что-то у меня в пол-второго ночи с гуглением плохо. Но думаю, что NickDee с этой фичой (в его варианте) обломится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:29:52 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
kdvcreate table Test. Записываем в имя таблицы Test Далее, когда идет select * from test делаем upper для имени в select, и upper имени в rdb$relations. Совпадает? Замечательно. Теперь с двойными кавычками. По идее, они нужны чтобы втыкать в имена объектов дополнительные и национальные символы. Т.е. TEST = Test = "TeST"? Хорошая мысль :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 01:44:44 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
NickDeeХорошая мысль :) так и я об чем - пишем в том регистре, в котором принимаем. Но проблема (нынешняя) в том, что запрос create table test1 (id int, "Id" int) работает без ошибок. Т.е. сейчас сервер отличает ID и "Id" только по разнице в регистре. И если сделать, как я предлагаю, это поломает базы с вот такой вот ахинеей, т.е. там, где есть одинаковые имена объектов, но в разном регистре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 02:12:46 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
kdv, Они не поломаются, они не сресторятся на FB3 до тех пор, пока в базе не будет устранена несуразность с именами полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2014, 14:03:44 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Я не понимаю проблемы. "select Id from MyTable" можно писать и сейчас. "FieldByName('Id').AsInteger" прекрасно читает поле "ID" этого запроса. При этом пользователю даже вредно показывать имена полей. Ему надо показывать что-то понятное кухарке типа: "А вот тут Вы видете что сказал Ваш Босс по этой проблеме" и никак не абракадабру из пары десятков символов, пусть в разном регистре. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 10:22:53 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Антон КарасёвЯ не понимаю проблемы. учиться надо. Вкратце: 1. create table MyTable превращается в MYTABLE. А NickDee хочет, чтобы регистр букв объектов сохранялся. 2. create table mytable(id int, "Id" int) не вызывает ошибки. В результате в системных таблицах получается два разных столбца - ID и Id. Но к Id можно обращаться только в двойных кавычках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 10:36:10 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
NickDeeСейчас имена объектов бд хранятся в системных таблицах в uppercase. Например после Код: sql 1. в системных таблицах получаем все имена в uppercase. Хочется возможность извлечь из системных таблиц имена в том case, в котором они были созданы. Это нужно для того, чтобы например в средствах разработки (в том же самом IBExpert) можно было использовать нормально-читаемые идентификаторы (в скриптах, в подсказках (по ctrl-space) и пр). Предлагаю добавить новое поле в системные таблицы. Имхо будет удобно. Сейчас конечно можно обрамлять имена объектов в кавычки при создании, но тогда приходится эти кавычки писать во всех sql, что излишне. 1. Вам влом писать кавычки. 2. Считаете, что разработчикам не влом перетрясти ОДС. 3. Не знаете о существовании оператора comment on. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 11:41:41 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Антон Карасёв> Я не понимаю проблемы. Потому что думаешь с т.з. клиента. А он думает с т.з. схемы БД и её отображения (на экран). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2014, 14:22:55 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Вот что значит проектировать базу данных без схемы. По нормальному сначала схема в спец. софте а уже потом база. Все красиво, разноцветно, с комментариями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 15:10:18 |
|
||
|
Хотелка
|
|||
|---|---|---|---|
|
#18+
Hello, Антон Карасёв! You wrote on 4 июля 2014 г. 15:15:32: Антон Карасёв> По нормальному сначала схема в спец. софте а уже потом база. > Все красиво, разноцветно, с комментариями. особенно если это курсовая работа. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2014, 15:16:40 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38664854&tid=1563486]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
179ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 483ms |

| 0 / 0 |
