The OpenNET Project / Index page

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

Релиз СУБД SQLite 3.20.0

07.08.2017 11:59

Представлен релиз SQLite 3.20.0, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные изменения:

  • Добавлено расширение COMPLETION, позволяющее реализовать систему автодополнения частично набранных команд при интерактивном вводе SQL-запросов;
  • Добавлено расширение UNION, предоставляющее поддержку сводных виртуальных таблиц, в которых несколько разных таблиц можно представить в виде одной большой объединённой таблицы;
  • Добавлено расширение SQLITE_STMT с реализацией виртуальной таблицы sqlite_stmt с информацией о подготовленных выражениях (prepared statement), ассоциированных с соединением к БД;
  • Встроенные функции date и time теперь можно использоваться в составе условий CHECK, в выражениях при определении индексов и в составе выражений WHERE в частичных индексах;
  • Добавлена PRAGMA-команда secure_delete=FAST, при указании которой включается режим быстрого безопасного удаления данных: содержимое удаляемых элементов обнуляется в b-tree деревьях, но может какое-то время оставаться в списках free-page;
  • В интерфейс командной стоки добавлена поддержка автодополнения ввода по нажатию клавиши Tab (можно использовать как readline, так и linenoise), добавлена команда ".cd", в командах ".schema" и ".tables" обеспечена возможность отображения схем из всех прикреплённых БД, реализована опция "--newlines" для вывода командой ".dump" содержимого без экранирования символов перевода строки и возврата каретки;
  • Улучшена работа планировщика запросов:
    • При генерации индивидуальных циклов для OR-выражений, не меняющиеся WHERE-блоки теперь вычисляются один раз вне цикла;
    • Обеспечена проверка прикреплённых параметров для определения возможности задействования частичных индексов;
    • При определении двух возможных планов выполнения запроса, для которых вычислен одинаковый вес, теперь выбирается тот, в котором не используется сортировка;
    • При разборе выражений WHERE обработка подзапросов теперь выполняется в самом конце, в надежде, что сработает более простое условие и выполнение подзапроса не потребуется;
    • Прекращено применение flattening-оптимизации для подзапросов, в случае использовании LEFT JOIN и чтении данных из виртуальной таблицы, с целью исключить создание автоматических индексов для результата, которые могут замедлить выполнение запроса;
  • В утилите sqlite3_analyzer обеспечено отображение размера метаданных в страницах btree;
  • Изменён текст некоторых сообщений об ошибках;
  • Изменено форматирование вывода имён столбцов при использовании функций sqlite3_column_name() и sqlite3_column_name16(), которое приведено в соответствие с оформлением вывода в PostgreSQL, MySQL и SQLServer (например, при применении подзапросов имена раньше в зависимости от запроса выводились иногда как table.column, а иногда как column, теперь всегда выводится только column);
  • Среди нарушающих совместимость изменений также осуществлён переход внутренних API для подключения расширений на новый интерфейс передачи указателей;
  • Внесена порция оптимизаций, которые позволили примерно на 2% снизить нагрузку на CPU.


  1. Главная ссылка к новости (http://www.mail-archive.com/sq...)
  2. OpenNews: Релиз СУБД SQLite 3.19.0
  3. OpenNews: Релиз СУБД SQLite 3.18.0
  4. OpenNews: Релиз СУБД SQLite 3.17.0
  5. OpenNews: Релиз СУБД SQLite 3.16.0
  6. OpenNews: Релиз СУБД SQLite 3.15.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/46980-sqlite
Ключевые слова: sqlite
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (116) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 12:22, 07/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –39 +/
    Лучше бы переписали на c++ и использовали встроенные в плюсы регулярки.
     
     
  • 2.4, КоКоКо (?), 12:27, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +18 +/
    Ага. Из-за сомнительной радости юзать "встроенные" регулярки, переписывать прожект на плюсы - отличный план!
     
     
  • 3.7, Аноним (-), 12:32, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > Ага. Из-за сомнительной радости юзать "встроенные" регулярки, переписывать прожект на
    > плюсы - отличный план!

    А что там переписывать, c++ с сями почти совместим. Немного модернизировать - и будет работать.

     
     
  • 4.8, Аноним (-), 12:35, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Немного модернизировать -  и будет работать.

    P.S. Сам так много раз делал.

     
     
  • 5.14, Аноним (-), 12:59, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +14 +/
    >> Немного модернизировать -  и будет работать.
    > P.S. Сам так много раз делал.

    Им не надо "немного модернизировать — и будет работать", им это ещё поддерживать. Если ты много раз делал из проекта помойку, это не значит, что такое всех устроит.

     
     
  • 6.17, Аноним (-), 13:15, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –11 +/
    больших помоек, чем проекты на сях, не найти.
     
     
  • 7.19, Andrey Mitrofanov (?), 13:25, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > больших помоек, чем проекты на сях, не найти.

    npm, /windwos/system32/, cms-ы на php,  ...  Ну, дальше сам.

     
     
  • 8.33, Аноним (-), 14:45, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    вы серьёзно 100 JavaScript... текст свёрнут, показать
     
     
  • 9.56, Andrey Mitrofanov (?), 16:13, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    ольших помоек, чем проекты на сях, не найти Это был пример бОльшей помойки,... текст свёрнут, показать
     
  • 7.29, Аноним (-), 14:41, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > больших помоек, чем проекты на сях, не найти.

    Сказал человек, который пользуется ОС, в которой не используется код на Си, в том числе в ядре. Или нет?

     
     
  • 8.48, Аноним (-), 15:10, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Используется, и это прискорбно ... текст свёрнут, показать
     
     
  • 9.81, Аноним (-), 22:48, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так в чём проблема-то Пересядь на написанную такими же продвинутыми, которые пи... текст свёрнут, показать
     
  • 9.124, _ (??), 17:32, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Немедленно сделай вдоль ... текст свёрнут, показать
     
  • 4.24, Crazy Alex (ok), 14:05, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Это не "переписать на плюсах", это "добавить проблемы плюсов к пробемам си". Нормальный, рекомендуемый плюсовый стиль с C не имеет практически ничего общего.
     
     
  • 5.50, Аноним (-), 15:12, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Нормальный, рекомендуемый плюсовый стиль с C не имеет практически ничего общего.

    кем рекомендуемый? Лично Бъёрном? Прям в спецификации так прописано : "это единственно верный и рекомендуемый стиль для программ на с++, остальные мы не рекомендуем использовать"? Если нет, то нафига эта демагогия?


     
     
  • 6.52, Crazy Alex (ok), 15:34, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Да, лично, с Саттером вместе. Вот тут: https://github.com/isocpp/CppCoreGuidelines/
     
  • 6.107, Андрей (??), 08:56, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вы, наверное, рекомендованного стиля для JS/Java не видели... Реально мозг выносит, против тех же Сей (не ++) и прочих «привычных» языков.
     
     
  • 7.130, Аноним (-), 20:49, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А ссылку?
     
  • 7.131, Аноним (-), 20:52, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы, наверное, рекомендованного стиля для JS/Java не видели... Реально мозг выносит, против
    > тех же Сей (не ++) и прочих «привычных» языков.

    А ссылку? В свою очередь, вот современные практики С: https://news.ycombinator.com/item?id=9018247

     
  • 4.69, kamiram (?), 16:58, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    вобще говоря не совсем так.
    местами совсем не так.
     
  • 2.5, Аноним (-), 12:31, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –21 +/
    что минусуете? pcre лишняя зависимость, поэтому в sqlite нет регулярок, приходится через питон определять функцию. А в стандартной библиотеке c++ регулярки есть. И вообще C без плюсов устарел, а код на нём в большинстве случаев жуткая фекалия из-за чрезмерного и неоправданного использования фанатиками препроцессора.
     
     
  • 3.13, Аноним (-), 12:55, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > pcre лишняя зависимость

    А libstdc++ не лишняя, выходит? В чём разница?

     
     
  • 4.16, Аноним (-), 13:11, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    "if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C" -- Linus Torvalds
     
     
  • 5.22, _KUL (ok), 13:57, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Переведите пожалуйста подковырку, чтобы русский человек понял смысл подначки.
     
     
  • 6.23, тоже Аноним (ok), 14:03, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    "Си хороши уж тем, что я в Крестах не очень" - примерно так.

    Насчет "переписать все на Крестах, чтобы регулярки были" - это просто-таки вершина мысли, почти эталонная. Конечно, если авторам SQLite вдруг захочется добавить встроенные регулярки, они никак не смогут это сделать без переписывания на Кресты, ага.

     
     
  • 7.64, Аноним (-), 16:42, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Вы и в английском не очень.
     
     
  • 8.105, тоже Аноним (ok), 08:01, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Как говорил один Чеширский Кот I m not here, sir, to remedy your ignorance ... текст свёрнут, показать
     
  • 6.28, Аноним84701 (ok), 14:28, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Переведите пожалуйста подковырку, чтобы русский человек понял смысл подначки.

    Если [использование] си даст нам только возможность держать плюсанутых на расстоянии [от проекта], то это  само по себе уже будет мощным аргументом в пользу [использования] си.

     
     
  • 7.31, тоже Аноним (ok), 14:42, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Перевод без контекста все равно бессмысленен Получается тупое хейтерство, а ег... большой текст свёрнут, показать
     
     
  • 8.37, Аноним (-), 14:57, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Лично я больше всего хейтю си из-за того, что там нет шаблонных функций, constex... текст свёрнут, показать
     
     
  • 9.54, Аноним (-), 15:56, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    А в самом деле, почему не использовать вместо макросов inline-функции Даже C их... текст свёрнут, показать
     
  • 9.57, Аноним (-), 16:31, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Никакого фанатизма тут нет Использование препроцессора было необходимо из-за от... текст свёрнут, показать
     
     
  • 10.70, Аноним (-), 16:59, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Релиз СУБД SQLite 3.20.0... текст свёрнут, показать
     
  • 9.77, EHLO (?), 19:41, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    то иногда лучше жевать чем думать сишном функциональном ... текст свёрнут, показать
     
  • 9.82, Аноним (-), 22:50, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    функциональный - это в лисп сишный стиль - процедурный ... текст свёрнут, показать
     
  • 9.114, Аноним (-), 12:38, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    если для функций, то насколько я понимаю static inline int shit int x __attribu... текст свёрнут, показать
     
     
  • 10.133, 0xd34df00d (??), 02:57, 11/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Во-первых, какие у constexpr есть идиотские ограничения в C 14, которых нет у p... текст свёрнут, показать
     
  • 8.38, Аноним84701 (ok), 14:59, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это да Гм-хм https lwn net Articles 249460 ... большой текст свёрнут, показать
     
     
  • 9.49, тоже Аноним (ok), 15:11, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Еще раз Линус рассуждает о том, в чем варится сам О системном программировании... текст свёрнут, показать
     
     
  • 10.101, angra (ok), 01:27, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Борясь с вырыванием цитаты из контекста, вы стали на сторону куда большего зла -... текст свёрнут, показать
     
     
  • 11.106, тоже Аноним (ok), 08:04, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    На том, на чем умеет лучше всего, очевидно Да, возможно, я думаю о людях слишко... текст свёрнут, показать
     
  • 9.110, Аноним (-), 09:56, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Спасибо хоть не бессмыслененен ... текст свёрнут, показать
     
  • 8.55, Аноним (-), 16:04, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Не преувеличивайте насчёт необходимости глубокого понимания, что там внутри ядра... текст свёрнут, показать
     
  • 8.58, Аноним (-), 16:33, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Рада синдрома утенка он используется ifndef FOO_H_ define FOO_H_ struct foo ... текст свёрнут, показать
     
  • 8.73, YetAnotherOnanym (ok), 18:20, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Это если доверять на 100 неведомо кому на другой стороне глобуса, который реал... текст свёрнут, показать
     
     
  • 9.75, тоже Аноним (ok), 18:45, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Боги Так никто же ничего не прячет Хочешь покопаться - исходники-то доступны ... текст свёрнут, показать
     
     
  • 10.87, Аноним (-), 22:58, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Можно пару примеров стояния в гамаке Чего именно в Си не хватает Про шаблоны и... текст свёрнут, показать
     
     
  • 11.108, hoopoe (ok), 09:12, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    ну как минимум с виртуальными функами это будет печаль, с наследованием - тоже н... текст свёрнут, показать
     
     
  • 12.115, Аноним (-), 12:39, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Наследование нужно чуть чаще чем никогда ... текст свёрнут, показать
     
  • 11.134, 0xd34df00d (??), 03:00, 11/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    constexpr, move semantics, лямбды Типобезопасность, в конце концов, когда может... текст свёрнут, показать
     
  • 6.30, ivanpetrov (ok), 14:42, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "Даже если бы C давал лишь отсутствие C++ разработчиков в проекте, одно лишь это было бы уже мощным аргументом в его пользу".

    Сложный/примитивный прекол (или я недалёкий надмозг).

     
  • 6.68, Andrey Mitrofanov (?), 16:57, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Переведите пожалуйста подковырку, чтобы русский человек понял смысл подначки.

    Линус ругает не таких, как он.  Ничего особенного.  Вот, и г-н Crazy Alex подтвердит.

    Гуле-транслейт:
    Если выбор C должен был делать * ничего *, но сохранить программистов на C ++, это само по себе было бы огромной причиной для использования C

    оборот 'do nothing but keep out' оно не смогло, и 'keep' совсем мимо, там примерно так: "Одно только то, чтоб не допускать цпп-програмеров, было бы..."

     
     
  • 7.72, Crazy Alex (ok), 18:16, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я-то подтверждаю, но при всём моём уважении к Линусу я его в непогрешимые боги не записывал и не собираюсь. И с его отношением к плюсам, как и к свободному софту ни хрена не согласен.
     
     
  • 8.113, Аноним (-), 11:57, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Продолжайте держать нас в курсе ... текст свёрнут, показать
     
  • 5.25, Аноним (-), 14:09, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Л. Торвальдс гуру и авторитет в области ядра конкретно Linux. Вот в отношении ядра и будем считать его высказывания авторитетными.
     
     
  • 6.93, EHLO (?), 23:36, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Л. Торвальдс гуру и авторитет в области ядра конкретно Linux

    и в области VCS и конкретно Git. И в области управления крупными и очень крупными проектами.
    Во всем остальном можешь считать себя более авторитетным... Хотя нет, еще нюанс, Линус школу давно закончил.

     
     
  • 7.122, an (??), 16:54, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Только вот VCS цельнотянутая с Monotone и BitKeeper. Качество кода ядра вызывает много вопросов, помню свежеиспеченную libata, это тихий ужас. Проектом он управляет далеко и не только один. Но человек заслуженный, это бесспорнно.
     
     
  • 8.132, Аноним (-), 21:06, 09/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    8212 вы прослушали пересказ Шукшина Срезал в исполнении жертвы ЕГЭ... текст свёрнут, показать
     
  • 4.18, Аноним (-), 13:20, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –4 +/
    >> pcre лишняя зависимость
    > А libstdc++ не лишняя, выходит? В чём разница?

    в том, что стандартная библиотека, которая поставляется с компилятором и включается во все программы на языке. впрочим пофиг. Тому, что в sqlite нет встроенных регулярок - нет оправдания. Из-за этого мне приходится заморачиваться с питоном там, где можно было бы использовать консольный клиент.

     
     
  • 5.59, Аноним (-), 16:34, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Тому, что в sqlite нет
    > встроенных регулярок - нет оправдания. Из-за этого мне приходится заморачиваться с
    > питоном там, где можно было бы использовать консольный клиент.

    Так не заморачивайся с питоном, возьми ту библиотеку регулярок, которая тебе нравится.

     
     
  • 6.83, Аноним (-), 22:52, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ага, предлагаешь заморочиться ещё больше и переписать консольный клиент. А потом заморочиться ещё больше, и переписать dbeaver.
     
     
  • 7.111, Аноним (-), 09:59, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > ага, предлагаешь заморочиться ещё больше и переписать консольный клиент.

    Ну возьми grep.


     
  • 3.15, Аноним (-), 13:01, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    libstdc++ лишняя зависимость, поэтому в sqlite нет регулярок, можно через питон определять функцию. А в стандартной библиотеке C регулярок нет. И вообще C с плюсами устарел, а код на нём в большинстве случаев жуткая фекалия из-за чрезмерного и неоправданного использования фанатиками шаблонов и наследования.
     
     
  • 4.26, Аноним (-), 14:16, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Но есть Rust, он значительно новее их обоих ;)
     
     
  • 5.43, Аноним (-), 15:05, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Встраиваемую РСУБД на раст переписать забыли.
     
  • 5.44, Crazy Alex (ok), 15:06, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот поэтому на нём и не надо писать ничего настолько базового, как SQLite. Ещё лет пять, как минимум. Потому что ни хороших практик, ни списков известных граблей ещё толком нет, и формируются они далеко не быстро.
     
  • 5.60, Аноним (-), 16:36, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Но есть Rust, он значительно новее их обоих ;)

    В части шаблонов и наследования, как и многого другого, он от крестов ничем не отличается.

     
  • 4.46, Аноним (-), 15:08, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > libstdc++ лишняя зависимость, поэтому в sqlite нет регулярок, можно через питон определять
    > функцию. А в стандартной библиотеке C регулярок нет. И вообще C
    > с плюсами устарел, а код на нём в большинстве случаев жуткая
    > фекалия из-за чрезмерного и неоправданного использования фанатиками шаблонов и наследования.

    ну так не надо быть фанатиками. Где ты у меня увидел требование стать фанатиком? В си объетивно не хватает функций, но есть фанатики, которые упорно продолжают юзать костыли (препроцессор) там, где в плюсах есть встроенные типо- и кодобезопасные конструкции жля этого.

     
     
  • 5.61, Аноним (-), 16:37, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > есть фанатики,
    > которые упорно продолжают юзать костыли (препроцессор) там, где в плюсах есть
    > встроенные типо- и кодобезопасные конструкции жля этого.

    Можно конкретный пример?

     
     
  • 6.84, Аноним (-), 22:52, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> есть фанатики,
    >> которые упорно продолжают юзать костыли (препроцессор) там, где в плюсах есть
    >> встроенные типо- и кодобезопасные конструкции жля этого.
    > Можно конкретный пример?

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

     
  • 5.62, Аноним (-), 16:39, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > В си объетивно не хватает функций,

    Напримep ?

     
     
  • 6.85, Аноним (-), 22:54, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> В си объетивно не хватает функций,
    > Напримep ?

    все возможности c++, которые можно использовать при программировании в стиле си.

     
     
  • 7.91, Аноним (-), 23:11, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Конкретнее пожалуйста.
     
  • 3.97, Sabakwaka (ok), 00:35, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> а код на нём в большинстве случаев жуткая фекалия...

    Покажи свой код.
    Ссылку на git в студию.

     
  • 2.11, anonymous (??), 12:40, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Теперь погугли про перфоманс регулярок в типичных реализациях stdlib
     
     
  • 3.12, Аноним (-), 12:45, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    кому надо больше производительности - тот ещё раз переопределит функцию. Всё равно тормознутей, чем вызов питоней функцию через cffi уже не будет.
     
  • 2.27, th3m3 (ok), 14:16, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда уж на Rust.
     
     
  • 3.40, Аноним (-), 15:02, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Тогда уж на Rust.

    раст совместим с си? Не, я конечно за перевод на раст, но это никто делать не будет, ибо тяжело и никому не нужно.

     
     
  • 4.45, Аноним (-), 15:06, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Тогда уж на Rust.
    > раст совместим с си? Не, я конечно за перевод на раст, но
    > это никто делать не будет, ибо тяжело и никому не нужно.

    Да, совместим.

     
     
  • 5.51, Аноним (-), 15:15, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>> Тогда уж на Rust.
    >> раст совместим с си? Не, я конечно за перевод на раст, но
    >> это никто делать не будет, ибо тяжело и никому не нужно.
    > Да, совместим.

    То есть ты берёшь код на си, меняешь пару незначительных деталей и получаешь код на раст?

     
     
  • 6.71, Алконим (?), 18:11, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нет. Получаеш код на Си. Код на Раст получится когда 100% кода будет переведено на Раст, а не несколько процентов, и будет проведён рефакторинг и чистка от unsafe кода. А до этого момента, особой разницы не будет, только синтакс другой.
     
     
  • 7.74, Аноним (-), 18:34, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    значит не совместим (речь не о бинарной совместимости, а о совместимости исходников)
     
  • 6.79, Ordu (ok), 21:50, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > То есть ты берёшь код на си, меняешь пару незначительных деталей и получаешь код на раст?

    Не. Ты берёшь corrode и он делает из C'шного проекта rust'овый.

     
     
  • 7.86, Аноним (-), 22:56, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >> То есть ты берёшь код на си, меняешь пару незначительных деталей и получаешь код на раст?
    > Не. Ты берёшь corrode и он делает из C'шного проекта rust'овый.

    ага, волшебным образом сам реинжинирит код, чтобы можно было юзать почти без доработки. И borrow checker сам удовлетворяет. Расскажи эти сказки кому другому.

     
  • 2.36, Ivan_83 (ok), 14:55, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Нафик-нафик.
    Все зачотные вещи написаны на си.
    На крестах кодят всякий шлак клиентский и игры.
     
  • 2.65, Аноним (-), 16:45, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    <dba-mode-on>За использование регулярок с SQL вообще убивать надо.</dba-mode-off>
     
  • 2.78, rtq (?), 21:05, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Уважаемый Максим, а можно опцию "не показывать комментарии начинающиеся на "Лучше бы""? Я заметил что их авторы как правило не компетентны и не уважают проделанный труд других людей.
     
     
  • 3.96, Аноним (-), 00:29, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Уважаемый Максим, а можно опцию "не показывать комментарии начинающиеся на "Лучше бы""?

    Тут без СУБД со встроенной поддержкой регулярок не обойтись...

     
  • 2.80, Онаним (?), 22:16, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Лучше бы переписали на разные языки чтобы в том же C#, например, просто работало, без матов, бубнов, получасовых гуглений и антинаучного тыка, независимо от битности ОС.
     
     
  • 3.89, Led (ok), 23:03, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > Лучше бы переписали на разные языки чтобы в том же C#, например, просто работало, без матов, бубнов, получасовых гуглений и антинаучного тыка, независимо от битности ОС.

    Нет, не лучшее. Потому что вендузятник должен срадать.

     
  • 3.118, KonstantinB (ok), 14:27, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А зачем вам в вашей прекрасной винде всякие левые поделия? Пользуйтесь официальным решением проверенного вендора - MS Access!
     
     
  • 4.128, Онаним (?), 21:46, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем - чтобы работало и под Linux и под Mac (благо .Net - штука кроссплатформенная), а также потому, что Access (RIP) убог как и MS Access убога как и embedded варианты SQL Server. А под виндой я сижу, хотите верьте, хотите нет, но вот так, реально по одной единственной причине: под Linux нет Visual Studio - полноценной IDE для C# с рефакторингом ReSharper и визуальным дизайнером форм. Но аккурат сегодня зарелизили JetBrains Rider, так что может скоро настанет наконец вндкпц...
     
     
  • 5.129, Led (ok), 23:48, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Иди в винду.
     

  • 1.3, Аноним (-), 12:27, 07/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Также не поясните, что быстрее, WITHOUT ROWID и PRIMARY KEY из  2х целочисленных  полей, или отображение этих дх полей в rowid и обратно (напр бинарным сдвигом и бинарным ИЛИ)? Если второе, то неплохо бы это иметь встроенным в саму базу.
     
     
  • 2.32, Аноним (-), 14:44, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Также не поясните, что быстрее, WITHOUT ROWID и PRIMARY KEY из  
    > 2х целочисленных  полей, или отображение этих дх полей в rowid
    > и обратно (напр бинарным сдвигом и бинарным ИЛИ)?

    Так проверьте же. Прямо на своих задачах.

    > Если второе, то неплохо бы это иметь встроенным в саму базу.

    Patches are welcome, не?

     
     
  • 3.41, Аноним (-), 15:03, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Так проверьте же. Прямо на своих задачах.

    конвертация таблицы в другой формат может несколько суток занять.

     
     
  • 4.90, НяшМяш (ok), 23:09, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > конвертация таблицы в другой формат может несколько суток занять.

    Кто же заставил держать такую таблицу в sqlite?

     
  • 4.112, Аноним (-), 10:03, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Так проверьте же. Прямо на своих задачах.
    > конвертация таблицы в другой формат может несколько суток занять.

    Так сделай тестовую поменьше.

     
  • 4.123, нах (?), 17:25, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    несколько суток с момента этой новости - давно прошли. А ты все еще даже не попробовал. Ты их руками, по одному байтику конвертируешь, с 9 до 18?

    (и нет, не надо "делать поменьше", тебя, на самом деле, не интересует как оно работает на таблицах поменьше, тебя интересует как оно работает на _твоей_ таблице. Никто кроме тебя это проверять не будет. Если бы мне была нужна подобная оптимизация - я бы давно именно это и сделал. И еще одну с default rowid и отдельно - составным ключом, никогда не знаешь, что придет в голову сложным оптимизаторам)

     

  • 1.34, Аноним (-), 14:45, 07/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    https://www.sqlite.org/src/tree?ci=trunk
    Код sqlite это все-таки хороший пример для обучения того как надо писать код. К слову, для меня, например, отлично, что они используют не монструозный git, а простой fossil (ими же и созданный). Современным хипстерам стоит поучиться подходу sqlite.
     
     
  • 2.47, Crazy Alex (ok), 15:09, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Скорее, это пример того, что команда хороших инженеров может работать на любой дряни, и того, что в промышленных решениях иногда дешевле поддерживать какую-то экзотику чем мигрировать на более распространённые и эффективные вещи.
     
  • 2.53, Владимир Путин (?), 15:48, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Отлично, гит уже для хипстеров. Куда дальше дна скатываться комментаторам на опеннете?
     
     
  • 3.66, Аноним (-), 16:47, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Отлично, гит уже для хипстеров. Куда дальше дна скатываться комментаторам на опеннете?

    Дна чего? Дно ближайшего пруда не сравнится с дном Марианской впадины. А та, в свою очередь, лишь мелкая морщинка на стыке тектонических плит ...


     
  • 2.63, Аноним (-), 16:41, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Современным хипстерам
    > стоит поучиться подходу sqlite.

    С каких это пор хипстерам потребовалось обучаться велосипедостроению?

     
     
  • 3.67, Аноним (-), 16:48, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Современным хипстерам
    >> стоит поучиться подходу sqlite.
    > С каких это пор хипстерам потребовалось обучаться велосипедостроению?

    leftpad же.


     
  • 2.116, Michael Shigorin (ok), 12:51, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > К слову, для меня, например, отлично, что они используют не монструозный git,
    > а простой fossil (ими же и созданный).

    Сколько там было переездов туда-сюда?  Наш майнтейнер sqlite3 (и fossil, ага) уже ухахатываться устал, похоже.

     
     
  • 3.117, yet another anonymous (?), 13:51, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Простой fossil несколько кривоват by design: линия коммитов по wall time --- для распределённой системы это супер-находка.
     

  • 1.88, Шарпей (ok), 22:58, 07/08/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Поиск по UTF-8-строкам без учёта регистра до сих пор не работает из коробки? Помню, раньше было два варианта решения (костыля):
    1) Перекомпилировать с ICU, увеличив объём либы на 10-15 метров и замедлив скорость поиска в 4 раза.
    2) Внедрить грязный фикс для кириллицы прямо в if — если маленькая буква, то из кода символа вычитаем 32.
     
     
  • 2.92, Аноним (-), 23:19, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вы чисто технически как это себе представляете ? Так чтобы без ICU и чтоб корректно работало ?
     
     
  • 3.94, Шарпей (ok), 23:41, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > А вы чисто технически как это себе представляете ? Так чтобы без
    > ICU и чтоб корректно работало ?

    Элементарно сделать без ICU. Просто, для каждой локали (благо, их не так много) сделать свои upper(), lower() и т.д. Cделать, чтобы это были указатели на функции. Переключил локаль на русскую — upper() указывает на ru_upper(). Я уже пробовал так делать, но мне совершенно не хочется каждый раз при обновлении sqlite перекомпилировать всё это заново.

     
     
  • 4.102, angra (ok), 01:45, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Судя по предлагаемому решению, ты не знаешь, что в локали ru_RU.UTF-8 можно использовать хоть иероглифы с эмоджами, не говоря уже про буквы всех европейских языков. Да и о количестве возможных локалей скорее всего тоже не в курсе и путаешь общее количество с количеством установленных на твоей машине.

     
     
  • 5.103, Шарпей (ok), 01:53, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Судя по предлагаемому решению, ты не знаешь, что в локали ru_RU.UTF-8 можно
    > использовать хоть иероглифы с эмоджами, не говоря уже про буквы всех
    > европейских языков. Да и о количестве возможных локалей скорее всего тоже
    > не в курсе и путаешь общее количество с количеством установленных на
    > твоей машине.

    Я знаю. Только, наверное, если я спецом выбрал ru, то всяко, не для того, чтобы искать по арабской вязи. Количество локалей. Ну пусть будут не все существующие, а самые популярные. Вон, Firefox поддерживает почти сто локалей, и ничего, «не жужжит».

     
     
  • 6.104, Led (ok), 01:56, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > Вон, Firefox поддерживает почти сто локалей, и ничего, «не жужжит».

    Бери с него пример (в последнем).

     
  • 6.121, Аноним (-), 16:40, 08/08/2017 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Теперь хотелось бы услышать отчего и почему авторы библиотеки должны лепить (и поддерживать) уродский костыль ради вашего юзкейса.
     
  • 2.95, Аноним (-), 23:53, 07/08/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Мыши плакали, кололись, но не хотели внедрять KOI-8RU
     

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



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

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