|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, int64 есть везде и давно. Для TIMSTAMP есть isc_decode_date / isc_encode_date ... А вот что делать с DECFLOAT? Вон с одними таймзонами уже геморроя нажили ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 19:47 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Симонов ДенисДля TIMSTAMP есть isc_decode_date / isc_encode_date ... Лучше бы не было. И да, это справедливо и для того ужаса, что они навыдумывали в интерфейсах. Симонов ДенисА вот что делать с DECFLOAT? Слаб духом - биндь как SQL_TEXT. Прочие могут гуглить сторонние библиотеки. Особо суровые - спецификацию двоичной раскладки из вики или первоисточника. Лично я буду тупо использовать "в тёмную", как пачку байт, но это специфика. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 19:50 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
AriochСимонов Денис, да, издали изобрели велосипед с огромным количеством бойлерплейта, в котором хрен разберёшься где что ты не пытался Ariochновый API.... Перемешаны декларации и роботом писанный код на Delphi. Всё это занимает гораздо больше места. Доки нет, даже на уровне IB6 API Guide. Больше такое нигде не используется, т.е. шаблоны восприятия/понимания наработанные на других продуктах тут не помогают. да какая разница сколько это занимает места? Там и без доки всё понятно. Потому что это практически тот же старый API сгруппированный по хендлам. Ничего сложного там нет Ariochвот зачем во всём этом разбираться, кроме возможно одной цели - UDR тебе и в старом не зачем ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 20:19 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Симонов Денисэто практически тот же старый API сгруппированный по хендлам. Не совсем. Это "очень старый API", который никогда не рассчитывался на прямое использование, а служил исключительно как поддержка препроцессора gpre. Потому-то и получилось то, что получилось. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.10.2019, 20:27 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
03.10.2019 19:19, Dimitry Sibiryakov пишет: > > Куда приткнуть SQL_INT128 Алекс пока не решил. ну, ежели таки воткнут, то не всё так плохо. а касаемо того, что делать с этим в Delphi, то особых проблем не вижу. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 11:29 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Мимопроходящий03.10.2019 19:19, Dimitry Sibiryakov пишет: > > Куда приткнуть SQL_INT128 Алекс пока не решил. ну, ежели таки воткнут, то не всё так плохо. а касаемо того, что делать с этим в Delphi, то особых проблем не вижу. дык это оно и есть вроде Код: plaintext 1.
насколько я понял отдельного INT128 не будет, эта штуковина только для реализации NUMERIC(38, x) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 11:41 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Симонов Денис, хотя не... src/include/firebird/impl/sqlda_pub.h Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 11:49 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, ты какой-то старый вариант цитируешь ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 11:51 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
04.10.2019 11:49, Симонов Денис пишет: > > хотя не... > src/include/firebird/impl/sqlda_pub.h > #define SQL_INT128 32752 ага. значит есть уже. ну, тогда компонентописателям OO_API можно игнорировать. причина для игнора: необходимо поддерживать 2 параллельные ветки кода. ибо нормальная библиотека работает не только с распоследним клиентом, но и с унаследованными версиями IB/FB. зы: хотя, например в Оракеле на это дело откровенно кладут... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:17 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Симонов Денисты какой-то старый вариант цитируешь Просто давненько дерево не обновлял. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:30 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Мимопроходящий, ну реализацию int128 на delphi найти можно. С DecFloat намного сложнее. Скорее всего большинство воспользуются хелпером Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
впрочем для того чтобы пользоваться хелперами, не обязательно целиком переходить на OO_API достаточно Код: pascal 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:33 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Мимопроходящийнапример в Оракеле на это дело откровенно кладут... Ну, в Оракеле своя специфика. Там парсер SQL до сих пор на клиентской стороне. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 12:36 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
04.10.2019 12:33, Симонов Денис пишет: > master := fb_get_master_interface; > util := master.getUtilInterface; > st := master.getStatus; > dec34 := util.getDecFloat34(st); вот объясни замшелому ретрограду на пальцах, ЗАЧЕМ для тупого процедурного преобразования нужны интерфейсы?! я не про то, что оно уже так сделано. а про насцущную необходимость. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 13:08 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Мимопроходящий, ИХМО, исключительно с целью унификации OO API, чтобы он везде ОО сохранялся :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 13:15 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
04.10.2019 13:15, Симонов Денис пишет: > ИХМО, исключительно с целью унификации OO API, чтобы он везде ОО > сохранялся :) Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 13:25 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Если приложение неспособно работать с decfloat, оно не сможет его в базу положить и нет смысла его из базы доставать. Ибо не ГПСЧ же из байт значение там собирается?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 13:34 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
опять же, если вспомнить мой пример - тупо перемножение нескольких нумериков, то на самом деле все эти 38 знаков и не нужно, ибо последние знаки будут нули-нули-нули и поэтому будут как во времена 1-го диалекте, через другие типа конкретно в Delphi это делалось через поля типа BCD, у которых были сеттеры/геттеры в int32-тип ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 17:42 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
04.10.2019 17:42, Arioch пишет: > конкретно в Delphi это делалось через поля типа BCD, у которых были > сеттеры/геттеры в int32-тип в новых дельфях к рекорду TBCD понавешивали собственных классовых методов. ибо это стильно, модно, молодежно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 17:48 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Ariochопять же, если вспомнить мой пример - тупо перемножение нескольких нумериков, то на самом деле все эти 38 знаков и не нужно, ибо последние знаки будут нули-нули-нули не факт. Нули у тебя потому что ты в дробной части нули задавал. Оно может редко, но нужно. И кстати запрос на длинные нумерики давно был Ariochи поэтому будут как во времена 1-го диалекте, через другие типа есть ещё DEFLOAT(34) Ariochконкретно в Delphi это делалось через поля типа BCD, у которых были сеттеры/геттеры в int32-тип причём тут delphi? Пользовательские агрегатные функции ещё не сделали ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:22 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Delphi к вопросу Симонов Денисага, а портировать классы на Delphi для работы с INT128, DECFLOAT или TIMESTAMP WITH TIMEZONE ты сам будешь? Т.е. запихнуть то их туда на стороне fbclient можно, а вот что потом с этим указателем на данные делать ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:38 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Arioch, оно в bcd само не преобразуется. Теоретически для int128 это не сложно сделать. Можно и для decfloat если почитать стандарт по бинарному размещению. Но на хрена, когда это уже сделали за вас? Шоб понты поколотить смотрите а я смог без OO API ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:43 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Симонов ДенисНо на хрена, когда это уже сделали за вас? А теперь вопрос на засыпку: что проще: портировать своё приложение на новое API или портировать мелкий кусок нового API в своё приложение? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:48 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, конечно кусок. Но не портировать, а использовать. В IBE так и делают. Там всё что можно на Legacy API, где не получается идём за новым. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 18:59 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Симонов Денис, Фактический стандарт в Delphi - это TDataset и всё, что вокруг него наросло, от FAQ до визуальщины. Даже ADO - и тот обернули в TDataSet, хотя COM-объекты можно напрямую использовать в языке. В принципе любую часть "обычной" библиотеки любого языка можно выкинуть и взять другое или написать своё. Но на практике для этого должны быть причины. Т.е. - это только в узких нишах каких-нибудь. Далее, в рамках TDataSet уже был прецедент работы с длинными числами ДО появления типа int64 в Delphi. Делалось это через BCD. Сейчас в Delphi есть int64, но нет int128. Ситуация похожа. И вероятно, что можно взять старое решение и адаптировать для этой новой проблемы. Поэтому и BCD. Можно придумывать что-то новое, нехоженное и неезженное, возможно оно даже в итоге окажется лучше. > Шоб понты поколотить смотрите а я смог без OO API Тут всё ровно наоборот. Понты - это выпендриться и сделать не как у всех. Смотрите, я смог без VCL/FMX, а сразу на Win32 GDI API (вариант - на KOL без MCK) - это выпендрёж. Смотрите, я смог напистаь на VCL и не писал на KOL - не выпендрёж. Смотрите, я смог без TDataSet и вообще без обёрток, сразу на низкоуровневом API - это выпендрёж. Смотрите, я написал на FireDAC/DBX/IBO и не лез в FB-OO-API - не выпендрёж ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 19:11 |
|
Корректное завершение gbak/isql при b/r
|
|||
---|---|---|---|
#18+
Симонов Денисконечно кусок. Но не портировать, а использовать. На пути "использовать" лежат забавные грабли с загрузкой библиотеки и импортом, но да, наверное есть ещё любители геморроя себе на шею. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2019, 19:26 |
|
|
start [/forum/topic.php?fid=40&msg=39871861&tid=1560551]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 302ms |
total: | 454ms |
0 / 0 |