Wahoo! Я сделал его! Последняя часть WP-DB.PHP для межбазового/Firebird
Я знал 9 лет опыта IB/FB придут в сподручное.
wp-db миниый слой абстракции базы данных для WordPress. Он позволяет вам побежать WordPress на различной базе данных. Теперь MySQL мило много оно, но некоторые люди делали версию PostgreSQL также.
Наилучшим образом, я хотел его подключить к межбазовому db для преобразования блога .TEXT я делал. Я не иду побежать WordPress межбазового пока, но он упростил ввоз для меня для использования WP-DB для моего соединения ввоза базы данных.
Интересно заметить что я приходил к пункту где другие редакторы что я использовал для Кода PHP как раз не будут чувствовать правыми больше. Делфи для PHP как раз чувствует более лучшим теперь для редактировать. Я не делал вс визуально конструировать в ем, но это было все еще славным быстрым редактором с дополнительной помощью намеков и параметров. Возможно если я имел Zend, то, я вставил бы с тем для non визуально вещества, если я был использован к ему, то я не знаю. Я не имею его. Я пробовал его раз и считал его слишком громоздким для моих потребностей. D4PHP при все закрынные коробки конструкции, все еще чувствует свет и имеет быстрое открытое время.
В лубом случае, большое часть из преобразования была довольно легко. Я как раз должен заменить звоноки php ibase_ для звоноков mysql_. Я должен добавить меньшюю ыборку для регулировать пустых шнуров и цитат и некоторые сдержанно слова IB как тип, роль, пароль, и etc. но действительно проблема была что WordPress полагается тяжело на характеристике InsertID которую много баз данных имеют. Она возвращает последнее значение поля autoinc в таблице снабженной ссылками последней командой вставки. IB/FB не имеет никакое equivelent. Документация PHP не показала что любое разрешение было обеспечено. И все слои abstration базы данных вне там не поддерживают его также.
Так, я делал работу вокруг. Она нет по возможности 100% точного для всех конфигураций баз данных вне там, но она должна работать для WordPress и .TEXT.
См., выходка был найти основной ключ для таблицы вы работаете дальше. Так, сперва я должен найти какая таблица я работал. Я имел заявление ВСТАВКИ SQL, поэтому все I необходимо для того чтобы сделать было найти имя таблицы после того как слова «ВСТАВКА В «. Отлично. Пук путей сделать то.
Затем, подготовлено с именем таблицы, я должен найти основной ключ. Как я делаю то с как раз командами имеющимися к PHP? То была каверзной частью.
Удачливейше, IB/FB реляционная база данных. Что вкратце значит таблицы все храньте в битах и частях повсеместно в таблица базы данных и после этого соединяйте назад совместно согласно данным по структуры, котор хранят в «спрятанных» таблицах.
Длиннее и короткая его что это заявление передаст вы что необходимо:
-
ВЫБЕРИТЕ RDB$RELATION_CONSTRAINTS.RDB$RELATION_NAME, RDB$INDEX_SEGMENTS.RDB$FIELD_NAME, RDB$INDEX_SEGMENTS.RDB$FIELD_POSITION
-
ОТ RDB$RELATION_CONSTRAINTS, RDB$INDEX_SEGMENTS
-
ГДЕ
-
RDB$RELATION_CONSTRAINTS.RDB$CONSTRAINT_TYPE = `ОСНОВНОЕ KEY И
-
RDB$INDEX_SEGMENTS.RDB$INDEX_NAME=RDB$RELATION_CONSTRAINTS.RDB$INDEX_NAME
-
ЗАКАЗ RDB$RELATION_CONSTRAINTS.RDB$RELATION_NAME, RDB$INDEX_SEGMENTS.RDB$FIELD_POSITION
В WordPress и .TEXT каждое поле AutoInc я посмотрел было первым полем в таблице. Так, теперь подготовлено с именем таблицы, и полем autoinc, просто вопрос для того чтобы получить самое высокое значение, которое должно быть самой недавней вставкой если нет некоторого вида развращения.
Так, что будет как раз отборное Макс (fieldname) от заявления tablename и я возвращаю значение я находил в поле одном (регулируя пустой результат установленный конечно).
Hey - он не мил, но он должен работать 100% из времени для моих польз. Если он делает, то я представлю его к ADOdb и увижу что они думают. В виду того что ADOdb часть сердечника Делфи для проекта PHP, я мог получить мой маленький бит Кода включено! Фактически, я надеюсь внести вклад в VCL для PHP прежде после этого.
О'КЕЙ, каждое eyes застекляло над но оно все еще довольно холодные честные!
















Брайан,
1. Можете вы идти над этим заявлением снова? «Так, что будет как раз отборное Макс (fieldname) от заявления tablename и я возвращаю значение я находить в поле (регулируя пустой результат установленный конечно).» Я довольно не уверен я следую за вами здесь.
2. Там путь найти ГЕНЕРАТОР для специфического основного ключа (и таблица) и после этого использовать «ОТБОРНОЕ GEN_ID (имя, инкремент) ОТ RDB$DATABASE»? Я верю что это предпочитаемый путь fetch поле «autoincrement» в межбазовом и Firebird, как app.
BTW, я думал что это соединение на месте Lorenzo Alberton было интересным => http://www.alberton.info/firebird_sql_meta_info.html
Tom
Прокомментируйте Tom Wilk - 7:35 pm 2-ое апреля 2007 @
Я пойду от дна вверх в отвечать тому.
Во первых то большое соединение. Спасибо! Оно определенно на моем списке метки книги.
И ДА, идущ после того как генераторы правый путь пойти. Однако, генераторы сами не связаны с таблицами в любом случае я смог найти вне Кода пуска. Необходимы, что названы генераторы даже после поля или таблицы. Ни ar пуски. Прочитано здесь: http://www.delphi32.com/info_facts/faq/faq_987.asp
Так для межбазового, основной ключ просто поле interger и добавлен пуск некоторого имени связал действие вставки. Что значено я имел поиск текст памятки для каждого пуска на таблице и искать справка генератора. Я вероятно смог изолировать вставку вызываю… как-то и как раз ищу те. Я принять первую справку генератора был деиствительно одним я хотел, но то вероятно было бы справедливым париом.
Так, вместо делать то, я пошел после основного ключа, который чего вы видите, что я делаю в этом примере. Так, чего заявление вопроса делает идет после того как максимальное значение в основном ключевом поле таблицы я работаю с. То должно работать большое часть из времени но не гарантировано. Afterall автоматическое поле inc СМОГЛО быть третьим полем в таблице.
Наилучшим образом, сегодня другой день и я думал на это дальнейшем. Я думаю что правильно путь восстановить текст ПАМЯТКИ и и parse его.
Так чего мне будет нужно сделать считать отборным от RDB$TRIGGERS где RDB$RELATION_NAME= [имя таблицы от вставки] и RDB$TRIGGER_TYPE=1. То не должно быть трудно. После этого я обнаруживаю местонахождение первое GEN_ID (и уравновесьте с до конца того. После этого мне нужно искать запятой и отрезать она и там позже. После этого я должен иметь имя пуска. После этого я могу сделать отборное заявление, восстановляя пуск и я определить что я хочу инкрементировать 0.
Yeah, то фактически должно сделать его… Возможно я получат, что работал на том еще некоторые завтра… Спасибо для спрашивать вопрос! Мне aparently было нужно revisit это после пролома.
Прокомментируйте 9:52 pm Брайан - 2-ое апреля 2007 @
Почему? Для Делфи для PHP?
Прокомментируйте 5:30 pm Джо - 3-ье апреля 2007 @
[...] I знало 9 лет опыта IB/FB придут в сподручное. [...]
Pingback Wahoo Firebird Новостями»! Я сделал его! Последняя часть WP-DB.PHP для 9:42 am межбазовых /Firebird - 4-ое апреля 2007 @
слой абстракции [...] для WordPress. Оно позволяет вам побежать WordPress на различной базе данных. Прочитайте более здесь. Permalink | Доля (digg, etc): [...]
Pingback Firebird Новостями» хочет побежать WordPress с FB? - 10:52 am 10-ое апреля 2007 @
Если your'e используя (новое) Firebird 2, вы может сделать это используя новую возвращающ клаузулу для заявлений вставки. Для больше info, прочитайте страницу 39 примечаний отпуска отпуска 2.0.0 или 2.0.1.
Комментирует jachguate - 2:04 pm 10-ое апреля 2007 @
jachguate! Вы! Я фактически сделаю второй модуль преобразования для FB2+. Я полностью пропущено той характеристике.
Несчастливо, компания я делаю это для имеет довольно сильные чувства на дискуссии IB/FB!
Прокомментируйте 2:15 pm Брайан - 10-ое апреля 2007 @