Pull to refresh
22
0
Кирилл @kish4ever

Человек и программист

Send message
Ну то что вы делаете там эксельки — это совсем не значит что это хорошо.
Может вы и pdf тоже им делаете?
На plsql конечно. А движка нет — это просто селекты с like из dba_source :D
Достаточно спорная статья во многих аспектах.

«Если программист забыл залить в гит» — а не надо забывать, да и на проде программисты не должны иметь доступ к компиляции объектов вообще. Вносить изменения нужно через строго налаженый процесс ci/cd. Коммит в гит, прогон тестов, дальше если все ок деплой.

PL/SQL достаточно убогий и примитивный, поэтому на нем можно почувствовать только боль и унижение, а не «каждый байт». А писать какую-то сложную хранимую логику на нем хотя и можно, но лучше не нужно. За 10 лет работы мы с ним наелись всякого.

View с параметрами через pipelined functions — да такого изврата даже наши горе программисты в конторе не изобретают. Вероятно автор не сталкивался с понятием pushed predicate при запросе к вью. То что тут показано может быть заменено без табличной функции совсем обычной view. Табличные функции медленные, прожорливые до памяти, и могут порождать ошибки типа ORA-600.

Пример «как с помощью запроса быстро нарисовать такую картинку в формате SVG» — просто ужасен. Километровая портянка абсолютно нечитаемой мешанины юнионов и литералов щедро приправленая рекурсией и select from dual. Отличный пример как можно забивать гвозди микроскопом. Зачем превращать СУБД в контент-сервер с генерацией картинок(то что svg по сути текст большой разницы не играет)?

Также Вы изобрели колесо свое распараллеливание на коленке, браво. Попробуйте посмотреть на встроенный Dbms_parallell_execute.

Я уже молчу про «нормализацию» текста регулярками с помощью рекурсивного запроса, лол.

Поиск по продуктовым базам по коду через дблинки…
— Дорогой где ты был?
— Стрелял по лягушкам в Германии лазером из космоса со спутника!
— Странно, но травой не пахнет
— Дура, я под ЛСД


Поиск по каталогу dba_source может быть заменен просто на поиск по репозиторию(внимательно смотрим первый пункт про git и хранение исходников в нем). Если хочется делать быстрый поиск по сорцам — льем репозиторий в какой-нибудь Elasticsearch и вот вам и поиск всего чего только хотите в вашем коде.

На вашем месте я бы озаглавил статью: 10 приемов как не нужно работать в Оракл.
Но rarjpeg уже был изобретен раньше. А еще тут проскакивала недавно статья про gif+javascript в 1 флаконе.
Ну ничего нового тут нет написано, чего бы я не знал.
Если вариантов значений у столбцов(которые передаются в функцию) таблицы много, то «кеш» будет только на каждый уникальный набор входных аргументов.
И причем тоже не всегда это будет работать(там даже написано об этом — есть лимит применения «кеша» по числу строк в датасете)
И что бы это вам дало?
Функция вызывается с передачей в нее значений из столбцов таблицы — соответственно вызов функции на каждую выбираемую строку пойдет(как и написано в абзаце). Отсюда мораль: дети, не используйте функции ни в where clause, ни в селект списке, это может быть больно.

А автору — респект и уважуха за такой отличный и подробный разбор подводных камней.
Можно, но SQL-запросы со стандартной функцией даты и с кастомной начнут совсем по-разному оптимизироваться. И налететь на проблемы можно очень легко
Верно, локальный бизнес в России, но в разных городах и разных часовых поясах.
И меняли таймзоны на своих серверах и не раз, скажем спасибо нашему правительству
Для отложенных операций в будущем мы у себя используем current_date и нам вполне этого хватает, хотя конечно соглашусь что в других случаях этого могло быть недостаточно
Пфф, как не красиво. Зачем делать для прода кастомную функцию, которая заменяет собой системные функции (и при этом на проде время не нужно менять)?
Если переписывать вообще все что есть на тестовой среде под такие требования — код будет от прода отличаться. К тому же никто не сможет запретить написать код без использования кастом функции для времени. Спасибо, но нет.
И тут тоже спасибо за подсказку. Этого никто в нашей команде не находил во время отбора гипотез. Но оно будет работать только если экземпляры базы данных разные и запущены как разные контейнеры, а для cdb/pdb опять бы пришлось все равно делать что-то свое.
Cпасибо за интересную идею. Ее как оказалось мы не смотрели при отборе вариантов. Но тут есть момент: время то полностью заморозится в таком случае. А нам нужно чтобы оно продолжало тикать и после модификации.
На переход? Да не так уж и много. Если все просуммировать, что было в разные моменты сделано, то я думаю не больше 1 дня.
Естественно. Так все и делалось. Но при доменном входе политики то работают по полной программе
У cisco vpn client(vpnc) вроде та же болезнь. А можно поподробнее про настройку маршрутов и днс?
но WSL2 ведь пока еще в разработке? Или уже есть?
WSL — это эрзац, заменитель. Не все там работает хорошо.
Например, докер под виндами унылое подобие.
Если б я был султан джавист, тогда бы мне это помогло. Спасибо за подсказку.
Сейчас все равно будут переходить на 10-ку, раз уж MS объявили о прекращении поддержки у win7 в январе 2020.

WSL есть только в 10ке если мне память не изменяет. А пока её нет — приходится жить с чем есть. А вообще по идее да, должно решать.

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity