Этот сайт не наркоманов. Это сайт программистов. Здесь курят мануал.

Добро пожаловать на Пыху!

Логин:
Пароль:
 

Нет прописки? Зарегистрируйся!

Новости

Пыха переехала на новый сервер, ура!

Краснодарское время: 25 Май, 2012, 05:29:46

Страниц: 1 ... 9 10 [11] 12 13 ... 23
Печать
Автор Тема: goDB — библиотека работы с MySQL  (Прочитано 29756 раз)
0 Пользователей и 5 Гостей смотрят эту тему.
vasa_c    ↓ 
04 Март, 2010, 12:49:25
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

ну типа помечать запрос как запрос который кешируется в мемкеше и прозрачно работать с его результатами, что то типа того
Это претит мне идеологически
Записан

kostyl    ↓ 
04 Март, 2010, 12:51:48 , спустя 2 минуты 23 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

не жесткая просто какой-то интерфейс, а что там мемкешь или ничего, пофиг, что юзер захочет - если ничего нет, всё работает как раньше...
Записан

качество жизни обратно пропорционально количеству лени
phpdude    ↓ 
04 Март, 2010, 12:56:31 , спустя 4 минуты 43 секунды
НЕ ХУЕТА! ХУЕТА!

я - ЭМО
Группа: в ухо

Карма: 344
Сообщений: д-о-х-у-я!
Сила слова: 1.65


не жесткая просто какой-то интерфейс, а что там мемкешь или ничего, пофиг, что юзер захочет - если ничего нет, всё работает как раньше...
он обычно хочет дизайн красивые и кнопку "сделать пиздато" )
Записан

забанен. могу забанить других, пишите в личку
BEER. Helping ugly people have sex since 1862.
Абырвалг    ↓ 
04 Март, 2010, 01:38:43 , спустя 42 минуты 12 секунд
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

юзер в данном случае программист
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
kostyl    ↓ 
20 Март, 2010, 04:12:46 , спустя 16 дней 2 часа 34 минуты 3 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

предлагаю допилять для ?с
PHP
if (is_array($el)) {
    return '`' . $this->_mqPrefix.$el[0] . '`.`' . $el[1] . '`' . (isset($el[2]) ? ' as `' . $el[2] . '`' : '');
}
Записан

качество жизни обратно пропорционально количеству лени
kostyl    ↓ 
21 Март, 2010, 01:53:39 , спустя 9 часов 40 минут 53 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

это я типа фигню сморозил оО ?
Записан

качество жизни обратно пропорционально количеству лени
vasa_c    ↓ 
21 Март, 2010, 12:09:35 , спустя 10 часов 15 минут 56 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

опиши словами
Записан

kostyl    ↓ 
21 Март, 2010, 12:44:10 , спустя 34 минуты 35 секунд
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

добавить алиасы для таблицы и для полей:
PHP
  /**
   * для твоего плейсходера ?t
   * @param array|string $el
   * @return string
   */

  private function _TableBindHelper($el)
  {
    if (is_array($el)) {
      return '`' . $this->_mqPrefix . $el[0] . '` as `' . $el[1] . '`';
    }
    return '`' . $this->_mqPrefix . $el . '`';
  }
  /**
   * для твоего плейсходера ?c
   * @param array|string $el
   * @return string
   */

  private function _FieldBindHelper($el)
  {
    if (is_array($el)) {
      return '`' . (isset($el[3]) ? $el[3] : $this->_mqPrefix . $el[0]) . '`.`' . //table name or alias
        $el[1] . '`' . //field name
        (isset($el[2]) ? ' as `' . $el[2] . '`' : ''); //field alias
    }
    return '`' . $el . '`';
  }
Записан

качество жизни обратно пропорционально количеству лени
vasa_c    ↓ 
21 Март, 2010, 01:59:27 , спустя 1 час 15 минут 17 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

хз, может быть, хотя как-то запутано
Записан

kostyl    ↓ 
21 Март, 2010, 02:34:01 , спустя 34 минуты 34 секунды
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

vasa_c
если добавлять префикс и к псевдониму таблицы тогда наверно проще будет
Спустя 3 минуты 13 секунд добавил
хотя тогда не понятно будет при передаче параметров, задал ли ты псевдоним или реальное имя таблицы...
Записан

качество жизни обратно пропорционально количеству лени
Абырвалг    ↓ 
21 Март, 2010, 03:00:23 , спустя 26 минут 22 секунды
НЕ ХУЕТА! ХУЕТА!

PHP Infected, симфоеб, маконенавистник
Группа: Джедаи

Карма: 80
Сообщений: 6096
Сила слова: 1.31

kostyl, я наоборот отказался от AS. Просто из кода не удаляю для BC. Мне удобнее алиас самому назначить а не передать в массиве:
 
PHP
$this->db->query('SELECT c, d, e FROM ?t', array('table1', 'alias1')); // на самом деле так не удобно
 
$this->db->query('SELECT c, d, e FROM ?t AS alias1', 'table1'); // так удобнее
 
$this->db->query('SELECT c, d, e FROM :table1 AS alias1'); // а так лучше всего. Но данные, содержащие ':' не должны вставляться в обход плейсхолдеров
/* но в моей либе все эти три случая работают */
 
Записан

PHP does the job since 1995
Пожалуйста, не надо делать двойные клики по ссылкам. Это создает избыточную нагрузку на сервер
kostyl    ↓ 
21 Март, 2010, 03:44:49 , спустя 44 минуты 26 секунд
НЕ ХУЕТА! ХУЕТА!

занедельный антипаттерн
Группа: Джедаи

Карма: 60
Сообщений: 3522
Сила слова: 1.7

Абырвалг
честно говоря, я еще не особо распробовал. Планирую что один хрен это всё будет собирать маппер или еще кто автоматом с помощью Query Object
Что то типа такого будет делать не я:
 
PHP
$Query = new Query(Query::SELECT);
$Query->AddField('user', 'login', 'id', 'u');
$Query->AddTable('user', 'u');
$Query->AddWhere('?f > ?i and ?f < ?i', array(array('user', 'id', '', 'u'), 0, 'id', '100'));
$Query->AddOrder(Query::DESC, 'user', 'login', '', 'u');
$Query->SetLimit(3);
 

SQL
SELECT `u`.`login` AS `id` FROM `prefix_user` AS `u` WHERE `u`.`id` > 0 AND `id` < 100 ORDER BY `u`.`login` DESC LIMIT 3 OFFSET 0

Короче надо пробовать ничего пока сказать не могу
Записан

качество жизни обратно пропорционально количеству лени
vasa_c    ↓ 
01 Июнь, 2010, 08:55:06 , спустя 72 дня 4 часа 10 минут 17 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: в ухо

Карма: 81
Сообщений: 2459
Сила слова: 3.29

goDB 1.1.3
 
Пара плейсхолдеров + один метод + один вопросик
Записан

dallone    ↓ 
01 Июнь, 2010, 09:59:20 , спустя 1 час 4 минуты 14 секунд
НЕ ХУЕТА! ХУЕТА!
Группа: Адекваты

Карма: 4
Сообщений: 45
Сила слова: 8.89

О, новая версия!
Здорово. Постараюсь в ближайшем будущем портировать изменения в порт для постгреса.
 
По поводу @todo, на мой взгляд неплохая идея. Для длинных запросов самое то,
ну или если известно что поддерживать будет сторонний программист.
Короче даешь! :)
 
А вот от countRows слегка попахивает... Ну пока он один еще ничего, боюсь просто вдруг библиотека "замусорится"
такого рода функциями и потеряет легковестность?
Записан
Frozzeg    ↓ 
01 Июнь, 2010, 10:11:27 , спустя 12 минут 7 секунд
НЕ ХУЕТА! ХУЕТА!

Группа: Пятросянище

Карма: 92
Сообщений: 5499
Сила слова: 1.67

я могу юзать goDB в комменрческих проектах?)
Записан

Эксперт — это человек, который в узкой области допустил все возможные ошибки. © Нильс Бор.
Отложить на завтра — значит впасть в рекурсию. © Frozzeg
Страниц: 1 ... 9 10 [11] 12 13 ... 23
Печать
 

Перейти в:  

Этот топик скрыли: NRG, adw0rd, artoodetoo