Предоставьте документированный пример кода для всех методов доступа к базе данных, поддерживаемых Pervasive.SQL, на всех платформах с использованием всех популярных языков. Предпочтительно полезно как для начинающих, так и для опытных пользователей в качестве справочного руководства.
Видеть:
В течение многих лет меня поражало, что примеров кода/кодирования мало. Кроме того, они менялись с течением времени (поддерживаемые платформы, языки), но больше всего застряли во времени. Не очень привлекательно для начинающего, независимо от того, будет ли он новичком в языке программирования или в Pervasive.SQL. За прошедшие годы у меня появились идеи, как это улучшить, и я приложил некоторые усилия к написанию кода. Предстоящая задача весьма обширна. Особенно, если человек хочет хорошо работать. Идеи меняются, между ними появляются новые проекты или задачи и т. д. Короче говоря, это заняло некоторое время, и результат сильно отличался от первоначально ожидаемого, поскольку моей первой идеей было написать одно эталонное приложение, которое позже можно было бы портировать на другие языки. платформы.
На основе параграфа «Методы доступа к базе данных» в онлайн-документации Actian Pervasive.SQL V13 я создал сценарий оболочки Bash (mk_dirs.sh), приняв единственный аргумент — имя языка программирования, который создает структуру каталогов, в которой перечислены все методы доступа к базе данных в виде подкаталогов. Используя этот сценарий, я был вынужден изучить и задокументировать все (?!) возможности, какими бы странными они ни были. Все подкаталоги содержат собственный файл ReadMe с уценкой, описывающий (не)возможности и код, если он предусмотрен. Все языки программирования имеют файл уценки ReadMe в корневом каталоге, описывающий все тонкости, что реализовано, а что нет, а также файл уценки результатов для регистрации того, что было протестировано на какой платформе.
Целью было не нарушать авторские права, поэтому заголовки необходимо копировать из SDK, которые можно загрузить с веб-сайта Actian. То же самое касается, например, кода, который можно скопировать/вставить с веб-сайта. Было бы здорово, если бы пример кода (и заголовки) был доступен из репозитория. Просматривая Github, можно найти файлы заголовков, защищенные авторским правом. Я оставляю Акциану добавить их.
Я очень приветствую улучшения, комментарии и другие вклады. Лично я могу придумать мнение:
Я полностью осознаю, что большая часть кода не соответствует вышеуказанным стандартам. Рефакторинг всего кода занял бы много времени, что могло бы отложить первоначальный выпуск или, возможно, даже предотвратить его. По этой причине я публикую код, который не соответствует моим взглядам на правильное кодирование.
См. файл Credits.md. Этот файл применяется ко всему проекту.
См. файл License.md. Этот файл применяется ко всему проекту.
Для полноты и единообразия все методы доступа, упомянутые в руководстве программиста, перечислены как опции для всех языков. Комбинации могут быть весьма абсурдными или экзотическими. Очевидно, что особенно они не реализованы (пока) и/или не протестированы должным образом. Весь код и документация в этом репозитории предоставляются «как есть». Я ни в коем случае не являюсь экспертом во всех представленных языках. Цель состоит в том, чтобы, по крайней мере, предоставить работающий код, который является очень низким стандартом, но, к сожалению, не является чем-то необычным. Сочинения о программировании и программной инженерии могут заполнить книжные полки. Давайте не будем идти туда сейчас. Будем надеяться, что качество кода со временем повысится, если люди, владеющие определенным языком, будут участвовать и улучшать код. Большая часть кода тестируется только в Linux, если не указано иное. Для повышения зрелости и ясности по этому предмету были добавлены таблицы результатов тестов.