|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4.
... и так далее. fieldtypeformulaA INTEGER B BIGINT (3*a)S BIGINT (-a + 7)U INTEGER (a)M INTEGER (-a)N INTEGER (+a)I BIGINT (a+1)O BIGINT (a+0)Q BIGINT (a*1)P BIGINT (a*0)DBIGINT(a/4)Z BIGINT (a/4 + 7) OK, O,Q,P - вырожденные "особые случаи", бог с ними. Но зачем расширять тип в случаях целочисленного деления - D и Z ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 16:18 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
Arioch, если тебе надо что-то конкретное, лучше пиши напрямую Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 18:05 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
kdv, 1. для этого в системных таблицах FB тоже не хватает информации http://www.sql.ru/forum/1205742/skript-tablic-s-polem-vychislimogo-polya-s-yavnym-tipom собственно это всё как раз на волне обсуждения БД в СКВ 2. тем не менее, вопрос остается - зачем расширять значения и делать лишнюю нагрузку на память/процессор там, где расширение заведомо ненужно ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 18:15 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
AriochНо зачем расширять тип в случаях целочисленного деления - D и Z ? могу лишь сказать, что этот вопрос относится к вычисляемым полям лишь косвенно. Потому что у фб есть правила для "выходных типов" вычисляемых выражений. И для результата int/что-то будет bigint. Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 18:51 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
kdv, это понятно, что косвенно. но ведь не будет же FB целочисленной деление делать через плавающую запятую? 22/3 через 22/3.0 ? а тогда - не может число увеличиться по модулю при делении а тогда - нет никакого смысла увеличивать диапазаон при чистом делении а также во многих случаях целочисленного div+add(sub) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 19:34 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
Arioch, 10/(1/100) ку? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 19:56 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
Arioch, Это я про увеличение диапазона, если что. С мобилы зашел -неудобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 20:07 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 20:24 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
kdvArioch, если тебе надо что-то конкретное, лучше пиши напрямую.. Код: sql 1.
Пользуясь случаем, предлагаю всем заинтересованным проголосовать за http://tracker.firebirdsql.org/browse/CORE-1407 Да и http://tracker.firebirdsql.org/browse/CORE-1386 на самом деле стоило бы переоткрыть как не до конца на самом деле решенный.. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 10:37 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
DarkMasterArioch, 10/(1/100) ку? деление на ноль, и что ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 13:34 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
dimitr, тем более, раз стандарт это не задает, то нет запрета и подумать о более эффективной реализации, хотя бы в плане нагрузки на ОЗУ/кэши :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 13:44 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
DarkMaster, впрочем, не всегда - а как раз в зависимости от доступности типа int64 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
но Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
и тут получается ещё интереснее - в расширенный тип конвертируются не результаты действия, а аргументы... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 13:50 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
AriochDarkMasterArioch, 10/(1/100) ку? деление на ноль, и что ? Ну как бы не совсем ;) 10/(1/100) = 10 / 0.01 = 1000. При граничных значениях изначально integer аргументов легко получим переполнение, если тип не расширять. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 13:57 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
DarkMaster, 1 / 100 = 0, целочисленное деление однако ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 14:15 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
dimitr, А, это я накосячил, признаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 14:45 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
dimitr, а это ещё как повезёт :-( DarkMaster, ...я сначала хотел тебе написать "Здесь вам не Паскаль", но оказалось, это зависит от ODS ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 15:20 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
Arioch, Насколько помню еще и SQLDialect роль играет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 15:29 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
Arioch...я сначала хотел тебе написать "Здесь вам не Паскаль", но оказалось, это зависит от ODSИщи дальше, ОДС тут не при чём ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 15:30 |
|
FB 2.5, computed column, integer division, default types
|
|||
---|---|---|---|
#18+
DarkMasterНасколько помню еще и SQLDialect роль играет только он и играет ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 15:31 |
|
|
start [/forum/topic.php?fid=40&msg=39199657&tid=1562279]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 440ms |
0 / 0 |