Wednesday, May 13, 2009

oramac

вообще, история оракла на mac os x напоминает желанного, но нелюбимого ребенка. видимо когда–то, когда вышел mac os x, кто–то из менеджеров оракла сказал:

— а чё ваще! это же юникс, вон на нем уже кластера собирают, jre есть, давайте забацаем оракл под мак!

и программисты бацают оракл под мак PPC.

причем, сама база выпускается не в production, а так, для игр:

«This document accompanies Oracle9i Developer release 2 (9.2.0.1.0) for Mac
OS X. Its contents supplement or supersede information in the Oracle9i
documentation library.

This is a developer release. It is not intended to be used in a production
environment. You should try this software only in a test environment.»

выпустив oracle 10g под мак, про саму базу надолго забыли. только один раз обновили клиента. и вот, совсем недавно, появилось обновление самой базы: ее наконец умудрились собрать под x86_64.

естественно, люди из оракла живут в своей собственной вселенной. они ничего не знают ни про universal binary, ни про launchd, ни про пользовательский интерфейс mac os x.

ничего они не знают также и про то, что консольный клиент их базы мог бы поддерживать историю команд и про то, что perl driver for oracle тупо не собирается на маке без особого шаманства.

естественно, DBD::Oracle не смог поставиться сам. после небольшого шаманства с патчами таки его удалось собрать, но работать он от этого не стал — в rian.ru используются named sql placeholders, а они–то как раз и не завелись. несколько утренних упражнений с драйвером рассказали мне о том, что на линуксе bool это нифига не bool а char и, даже, возможно, int. а на маке совсем не так. ну ладно, патч отправил, у меня локально все заработало и даже в DBD::Oracle 1.23 включили мои изменения.

но вот какой вопрос не дает мне покоя: неужели никто до меня не использовал named placeholders в oracle через perl на mac os x? вообще, хоть кто–то работал с ораклом через perl?

No comments: