|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
в доке почему-то НЕ говорится, что вот тута: CREATE {SEQUENCE | GENERATOR} seq_name [START WITH value] [INCREMENT [BY] increment]; -- можно издевацца над инкрементом только в очень узких пределах: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Это так и должно быть (я про узкие пределы) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2015, 18:51 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Таблоид, по идее не должно. Хотя с другой стороны RDB$GENERATOR_INCREMENT INTEGER ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2015, 23:20 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
занафига инкременты по 100500 мильонов? Шобы було? Или шобы быстрее генератор завернулся в продакшене? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2015, 23:23 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
dimitr> занафига инкременты по 100500 мильонов? Шобы було? Ты интересные вопросы задаёшь, аднака. Неправильные какие-то. Ник ТСа не разглядел что ли? P.S. Я тебе даже отвечу за него - "потому что не запрещено!" Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2015, 23:25 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
dimitr, так то оно не нужно. Таблоид, в доке ещё много чего не говорится. Ибо пишется она исходя из других документов. В которых таких тонкостей нет. Добавлю. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2015, 23:28 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Симонов Денис> Добавлю. Ну и зря. Я бы такой херней не страдал. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2015, 23:37 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, Ну генераторы у нас хранят 64 битные значения, поэтому может показаться что и инкремент может быть 64 битным. Лучше сразу написать чтобы недоразумений не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 09:09 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
dimitrзанафига инкременты по 100500 мильонов? Шобы було? Или шобы быстрее генератор завернулся в продакшене?Это так, "академический интерес" просто вспых... :-) Симонов ДенисЛучше сразу написать чтобы недоразумений не было.Да, добавь, плз. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 09:17 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Таблоид, гы, а Код: sql 1.
работает ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 09:27 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Симонов Денис, этот gen_id(), я так понимаю, "своим ходом" идёт, независимым: там и (+/-)2^63-1 можно указывать :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 09:40 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
dimitrзанафига инкременты по 100500 мильонов? Шобы було? Или шобы быстрее генератор завернулся в продакшене? Торг как на базаре :) Занафига 2 миллиарда? Шобы було? Хватит и 32 тыщ :) У GEN_ID(GenName, Increment) вторым параметром INTEGER или BIGINT? Проверил, BIGINT там. Применение больших значений например такое: генератору филиальных баз нужно для каждой БД иметь нумерацию ID [StartId..StartId+N], не пересекающуюся с другими БД. N = MaxInt * 16, чтобы хватило надолго Для каждой новой базы нужно теперь сгенерировать свой StartId. Логично это делать с помощью генератора с приращением N. Но вот беда - кто-то решил что приращения MaxInt должно хватать на все наши задачи :) Нам повезло что можно использовать GEN_ID(G_StartId, 4G * 16). Но это хард-код. Гораздо логичней выглядит генератор с соответствующим приращением. И абсолютно не важно что по этому поводу думает sql-стандарт :) А он вполне может себе думать что и 32 тыщ хватит. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 10:44 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
-генератору филиальных баз нужно для каждой БД иметь нумерацию ID [StartId..StartId+N], не пересекающуюся с другими БД. Нарушение первой НФ detected. -Для каждой новой базы нужно теперь сгенерировать свой StartId. Логично это делать с помощью генератора с приращением N. Какая странная у некоторых логика... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2015, 11:45 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov-генератору филиальных баз нужно для каждой БД иметь нумерацию ID [StartId..StartId+N], не пересекающуюся с другими БД.Нарушение первой НФ detectedКакое условие 1NF нарушено? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 03:51 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
-dimitrзанафига инкременты по 100500 мильонов? Шобы було? Или шобы быстрее генератор завернулся в продакшене? Торг как на базаре :) Занафига 2 миллиарда? Шобы було? Хватит и 32 тыщ :) У GEN_ID(GenName, Increment) вторым параметром INTEGER или BIGINT? Проверил, BIGINT там. Применение больших значений например такое: генератору филиальных баз нужно для каждой БД иметь нумерацию ID [StartId..StartId+N], не пересекающуюся с другими БД. N = MaxInt * 16, чтобы хватило надолго Для каждой новой базы нужно теперь сгенерировать свой StartId. Логично это делать с помощью генератора с приращением N. Но вот беда - кто-то решил что приращения MaxInt должно хватать на все наши задачи :) Нам повезло что можно использовать GEN_ID(G_StartId, 4G * 16). Но это хард-код. Гораздо логичней выглядит генератор с соответствующим приращением. И абсолютно не важно что по этому поводу думает sql-стандарт :) А он вполне может себе думать что и 32 тыщ хватит. ну так и генерируй с помощью GEN_ID(GenName, Increment) INCREMENT используется только конструкцией NEXT VALUE FOR. И отличное от инкремента значение в неё не воткнёшь. А для более редко встречающихся зада остался GEN_ID ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 10:05 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Симонов ДенисINCREMENT используется только конструкцией NEXT VALUE FOR. И отличное от инкремента значение в неё не воткнёшь. Дак как раз это и требуется. Но нельзя - INCREMENT слишком большой. А в GEN_ID можно, т.к. там INCREMENT нормальный. Такое поведения называется по-разному: - двойственность - нецелостность - внутренняя противоречивость ...и вызывает искренние непонятки у людей которые считают что пользуются не только бесплатным, но вместе с тем и внутренне непротиворечивым продуктом :) Понятно что у продукта есть история и что он в прошлом тысячелетии писался так как писался, но сейчас то никто не запрещает сделать всё правильно. Или есть кто? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 11:55 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
-, в GEN_ID вообще побоку что там у генератора установлено. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 12:01 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
-, какая нафиг история. INCREMENT появился в трёшке только в этом году ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 12:02 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Симонов Денискакая нафиг история. INCREMENT появился в трёшке только в этом году Вооооот. И почему типом INCREMENT был выбран не маленький SMALLINT и не большой BIGINT, а средненький такой INTEGER? :) Хотя результирующее значение генератора именно BIGINT, и в GEN_ID тип INCREMENT тоже BIGINT. Если причина именно такого решения - техническая, то тогда это одно. А если причина очень напоминает "ну я считаю что этого всем всегда достаточно" и доводы других просто не слышатся, то это в грусть-печаль вводит. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 12:34 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Стесняюсь спросить...Какое условие 1NF нарушено? Ты не поверишь, но у первой НФ только одно условие. И оно гласит "не пихайте в одно поле несколько логических значений". Так что тот, кто засунул идентификатор БД в поле идентификатора записи - ССЗБ. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 12:41 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
-, спроси Claudio Valderrama. В конце концов не нравится напиши трекеру ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 12:44 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Симонов Денисспроси Claudio Valderrama. В конце концов не нравится напиши трекеру Бюрократы :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 13:12 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
-, а я то тут причём? Я к разработке FB отношение не имею. Подсказал тебе кто эту фичу внедрял ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 13:14 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
У анонимусов летнее обострение? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2015, 13:53 |
|
INCREMENT BY в create sequence ограничен 2^31-1 ?
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТы не поверишь, но у первой НФ только одно условие. И оно гласит "не пихайте в одно поле несколько логических значений". При всем уважении - не поверю Dimitry SibiryakovТак что тот, кто засунул идентификатор БД в поле идентификатора записи - ССЗБ.При условии что выделенный диапазон используется как признак, идентифицирующий базу. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2015, 04:00 |
|
|
start [/forum/topic.php?fid=40&fpage=75&tid=1562796]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
24ms |
get forum data: |
3ms |
get page messages: |
102ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 460ms |
0 / 0 |