The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Бета-версия клиентского C++ API Pgfe к PostgreSQL

23.05.2018 12:51

Доступна бета версия Pgfe - неофициального клиентского API для PostgreSQL, написанного на языке C++ и упрощающего работу с PostgreSQL в проектах на C++. Для сборки необходим компилятор с поддержкой C++17, такой как GNU GCC 8+ или Microsoft Visual C++ 15.7+.

Основные возможности: соединение в блокирующем и неблокирующем режимах, обработка заранее подготовленных выражений (prepared statement) с именованными параметрами, коды SQLSTATE, динамический SQL и преобразование расширяемых типов данных (например, преобразования между массивами PostgreSQL и контейнерами STL). В будущем ожидается появление Large Objects, операции COPY, C API, типы dmitigr::pgfe::Composite и dmitigr::pgfe::Dynamic_array для работы с составными типами и массивами произвольной размерности.

  1. Главная ссылка к новости (http://www.postgresql-archive....)
  2. OpenNews: Релиз pgAdmin 4 3.0, интерфейса для управления СУБД PostgreSQL
  3. OpenNews: Для PostgreSQL подготовлено расширение TopN
  4. OpenNews: Атака по майнингу криптовалюты на незащищённых серверах PostgreSQL
  5. OpenNews: Для PostgreSQL предложено новое хранилище zheap
  6. OpenNews: Релиз СУБД PostgreSQL 10
Автор новости: Дмитрий
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48646-postgresql
Ключевые слова: postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (40) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 22:48, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отличия от libpqxx?
     
     
  • 2.2, анонимный анонимус2 (?), 22:53, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    судя по коду, pgfe - самостоятельная реализация, не привязан к libpq. А вот libpqxx - враппер над libpq
     
     
  • 3.3, Аноним (-), 22:55, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/dmitigr/pgfe/blob/master/lib/dmitigr/pgfe/connection.cpp

    > #include <libpq-fe.h>

    Судя по коду, оно использует libpq.

     
     
  • 4.4, анонимный анонимус2 (?), 22:58, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Только для openssl подключений.
     
     
  • 5.6, Аноним (-), 23:00, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Только для openssl подключений.

    https://github.com/dmitigr/pgfe/blob/master/lib/dmitigr/pgfe/connection.hxx#L4

    Да нет, не только. Код напичкан вызовами PQ*.

     
     
  • 6.7, анонимный анонимус2 (?), 23:04, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, пропустил.
     
  • 4.12, Аноним (-), 23:40, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ох уж мне этот c++17. От override в глазах рябит.
     
     
  • 5.27, Аноним (-), 15:23, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    override - без преувеличения самая полезная фича современного С++
     
  • 3.10, Аноним (-), 23:15, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Судя по коду, Pgfe - *может* быть самостоятельной реализацией. Интерфейс полностью абстрагирован. Сейчас под катом libpq, а завтра может быть и самостоятельная реализация протокола.
     

  • 1.5, Tantrido (?), 23:00, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне pqxx очень нравится: удобный и реактивный. Как эта штука работает - ещё быстрее?
     
     
  • 2.8, Tantrido (?), 23:05, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Судя по описанию - БУДЕТ гораздо мощнее штука: большие объекты, сигналы, уведомления и т.д.
     
  • 2.17, лютый охохоня (?), 07:07, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >удобный и реактивный

    Что будет если реактивный ранец приделать к жирному и неповоротливому слону? Нет, Джамбо бывает только у Деснеев... Сколько слону липосакций не делай, Монго не получится.

     
     
  • 3.28, Аноним (-), 15:25, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>удобный и реактивный
    > Что будет если реактивный ранец приделать к жирному и неповоротливому слону? Нет,
    > Джамбо бывает только у Деснеев... Сколько слону липосакций не делай, Монго
    > не получится.

    Да, такую дрисню трудно повторить

     
     
  • 4.38, лютый охохоня (?), 05:45, 28/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >такую дрисню трудно повторить

    Всё страдаешь, что Монгу начали в 2007 писать 10 русских хакеров Ген и легко обогнали 100500 фафанов Постгреса? Дык, bazaar он и есть bazaar.

     

  • 1.9, Аноним (-), 23:10, 23/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    я фигею. чем сишное то API не устраивает? нынешние программисты C++ какие-то хронические ленивцы и язык превращают в язык для ленивцев, все нововведения C++ за последние годы нужны только хроническим ленивцам!!!
     
     
  • 2.11, Crazy Alex (ok), 23:22, 23/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Не, ну кому не нравится вменяемое управление ресурсами - чтобы без мороки, но контролируемо - могут на сях писать, кто ж запретит.

    А вообще - язык эволюционирует, потому что софт всё сложнее и на закат солнца вручную никаких мозгов и времени не хватит.

     
     
  • 3.13, Аноним (-), 00:02, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >язык эволюционирует

    язык обрастает уродливыми свистоперделками, становится похож на php

     
     
  • 4.16, Аноним (-), 04:38, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    очевидно, что к плюсам вы никакого отношения не имеете
     
     
  • 5.24, Аноним (-), 13:33, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    очевидно ваши выводы не обоснованы
     
  • 4.18, qrKot (?), 07:38, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Специально погуглил код на C++ и на PHP.
    Не вижу сходства...
     
     
  • 5.21, XoRe (ok), 11:13, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Специально погуглил код на C++ и на PHP.
    > Не вижу сходства...

    "Впервые вижу, но мнение имею"

     
  • 2.14, Аноним (-), 00:36, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я что-то пропустил и в текущем сишном API появилась поддержка асинхронного взаимодействия с БД?
     
     
  • 3.15, Аноним (-), 01:43, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Она была.
     
  • 3.19, Аноним (-), 11:08, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    epoll/kqueue кто мешал заюзать?
     
  • 3.23, Аноним (-), 12:07, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Я что-то пропустил и в текущем сишном API появилась поддержка асинхронного взаимодействия
    > с БД?

    Ты что-то пропустил.

     
  • 2.20, КО (?), 11:13, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >я фигею. чем сишное то API не устраивает?

    Если человек работает в ООП, то ему нужны объекты. Как из чисто сишной функции получить результат объект? Например, PreparedStatement. С его методами (привязкой параметров, очисткой, перепривязкой, переиспользованием).
    А внутре да - те же функции. Те же переменные. Только слегка инкапсулированные.

     
     
  • 3.25, Аноним (-), 13:35, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    я вам открою секрет, вы можете создавать объекты и на C
     
     
  • 4.34, anonymous (??), 22:53, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Так костыли писать не мешки ворочать.
     
  • 4.36, Аноним (-), 14:58, 25/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    И из спичек с клеем и жвачкой :)
     
  • 2.22, ваноним (?), 11:49, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    так толсто, что даже тонко
     
     
  • 3.26, Аноним (-), 13:41, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    мы можем открыть на википедии статьи о функционале который был внесен за последние 10 лет в C++ и разобрать по пунктам все что там было добавлено. 100% того что было добавлено - свистоперделки для ленивцев. ничего нового, только мусор ухудшающий читабельность кода и упрощающий написание для тупых макак которые теперь создают более бажный код
     
     
  • 4.29, Аноним (-), 15:28, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "мы можем открыть на википедии статьи о функционале который был внесен в C++ по сравнению с С и разобрать по пунктам все что там было добавлено. 100% того что было добавлено - свистоперделки для ленивцев. ничего нового, только мусор ухудшающий читабельность кода и упрощающий написание для тупых макак которые теперь создают более бажный код"
     
     
  • 5.31, Аноним (-), 15:45, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    почитайте что Торвальдс думает про C++
     
     
  • 6.32, Аноним (-), 16:52, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Что-то вроде того. Но если человек все-таки признает, что С++ нужен, то надо признать и то, что С++11 чинит многие его недостатки
     
     
  • 7.33, Аноним (-), 17:15, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    какие? auto? треды? какие к чертям недостатки?
     
     
  • 8.40, ваноним (?), 13:03, 05/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    вы либо не в теме, либо очень голодны... текст свёрнут, показать
     
  • 4.39, ваноним (?), 13:01, 05/07/2018 [^] [^^] [^^^] [ответить]  
  • +/
    действительно, это всё жалкие отговорки — лишь бы не писать программы в машинных кодах!
     
  • 2.30, Аноним (-), 15:30, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > я фигею. чем сишное то API не устраивает? нынешние программисты C++ какие-то
    > хронические ленивцы и язык превращают в язык для ленивцев, все нововведения
    > C++ за последние годы нужны только хроническим ленивцам!!!

    Лень - одна из трех добротелей программиста

     
  • 2.35, anonymous (??), 23:02, 24/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В нормальных проектах для него всё равно так и так обёртку лепить. Теперь хоть появится шанс уменьшить число велосипедов. Если ты против этого, то я даже не знаю, что тебе предложить. Наверное, лучше не вылезать дальше сишки, дабы не увеличивать энтропию.
     

  • 1.37, Аноним (-), 20:09, 26/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > #include "dmitigr/pgfe/connection_options.hpp"
    > #include "dmitigr/pgfe/connection_options.cxx"
    > #include "dmitigr/pgfe/internal/debug.hxx"

    а в чём разница между hpp, cxx и hxx?

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру