LINUX.ORG.RU

Посоветуйте embedded sql writen on pure Go

 , ,


0

4

Ищу вот то, что в заголовке. Наткнулся на топик, у меня та же проблема. Sqlite не подходит, ql не поддерживает кириллицу в именах таблиц и колонок, key-value тоже мимо. Памятую про глупую модерацию в этом репозитории https://github.com/avelino/awesome-go, хочу спросить у людей, может есть хорошая проверенная библиотека, но ее сложно найти (и легко потерять). Здесь https://golanglibs.com/top?q=embedded database тоже смотрел, в топе те, что не подходят, а остальных слишком много что бы проверить. Спасибо за ответы.

★★★★
Ответ на: комментарий от deadNightTiger

Тоже пишу на Go, тоже sqlite не подходит :)

dnb ★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

Тебе нечем полезным заняться?

dnb ★★★★
() автор топика

не поддерживает кириллицу в именах таблиц и колонок

Ох братишка. Удачи тебе.

Хотя нет. Лушче вон с профессии.

anonymous
()
Ответ на: комментарий от anonymous

Та же sqlite поддерживает, postgres поддерживает. Уверен на 99% что поддерживает и mysql, и прочие. В чем проблема-то? У меня нет базы форум, таблиц пользователи и колонок вроде имя string, пароль string... Внезапно, на Go только форумы пишут да веб-чаты.

dnb ★★★★
() автор топика
Ответ на: комментарий от dnb

Вообще-то, проблему кириллицы можно решить вынесением в отдельную config.db с примерной схемой

create table config(storage string, tbl_name string, hash string)
. Только это усложнять придется, лишний код писать.

dnb ★★★★
() автор топика
Ответ на: комментарий от dnb

Нет с кириллицей никаких проблем. Названия таблиц и столбцов, ровно как и названия переменных, должны быть написаны на английском. А не русском. И без смайликов.

Weres ★★★
()
Ответ на: комментарий от Weres

Я бы не был столь категоричен. Совсем не должны. Другой разговор, что в 2017 принято писать все по английски, но эта мода не вечна, как и засилье этого чужеродного языка.

dnb, во многих конторах ты не прошел бы code review, если бы писал не на английском, но желание писать по-русски поддерживаю. Только сейчас так не делают. Поэтому пока старайся писать по-английски или хотя бы используй транслитерацию, если испытываешь трудности с этим языком, или если он тебе неприятен

dave ★★★★★
()
Последнее исправление: dave (всего исправлений: 1)
Ответ на: комментарий от Weres

Названия таблиц и столбцов, ровно как и названия переменных, должны быть написаны на английском

Предположим ты пишешь бухгалтерскую систему. У тебя есть таблица в которой должны храниться данные, которые на экране видны в полях «Код ИФНС», «ОКАТО», «Льгота при начислении пособий». Как назовёшь колонки? И как назовёшь класс, который формирует отчёт «оборотно-сальдовая ведомость»?

monk ★★★★★
()
Ответ на: комментарий от Weres

В своих маленьких БДшечках юзаю кириллицу в названиях таблиц и всё пучком. Чтоб враг не прочел.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от Weres

IFNS, OKATO

Чем транслит лучше русских названий?

CASH_BENEFITS_EXEMPTION

Приятных поисков тому программисту, который будет искать соответствие между колонкой и интерфейсом. И тому англоязычному, который будет пытаться понять, при чём тут CASH. И почему при наличии «exemption» сумма расчёта увеличивается.

CashTurnoverStatementReport

А тогда «обороты счёта» и «отчёт о движении денежных средств» из этой же программы как будет? Это всё разные отчёты.

monk ★★★★★
()
Ответ на: комментарий от Weres

Купи себе моник хотя бы на 15 дюймов/отрегулируй разрешение/поверни его горизонтально/разверни редактор на весь экран, короче переезжай в 21 век.

ya-betmen ★★★★★
()
Ответ на: комментарий от monk

Купи себе финансовый словарь русско-английский не морочь людям голову. Для всего этого есть устоявшиеся термины.

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Для всего этого есть устоявшиеся термины

Нету. Потому что у буржуев нет оборотно-сальдовой ведомости и нету нашей бухгалтерской отчётности. Зато есть своя бухгалтерская отчётность (термин CashTurnoverStatementReport оттуда).

monk ★★★★★
()
Ответ на: комментарий от ya-betmen

trial balance — это балансовая ведомость. Собственно, у нас есть аналогичная «Форма 1. Баланс». В ней нет оборотов. Только остатки на конец периода. И она свёрнута. Выглядит так: http://accountingflash.com/wp-content/uploads/2013/07/M_7.5F_Trial_balance.png

А оборотно-сальдовая ведомость показывает остатки и обороты в произвольном разрезе. Выглядит так: https://im0-tub-ru.yandex.net/i?id=3887b884d34ec6ba59173912de6d2194-l&n=13

monk ★★★★★
()
Ответ на: комментарий от monk

В итоге либо в команде должен быть профессиональный переводчик по предметной области (у которого придётся спрашивать перевод для каждого имени переменной), либо имена колонок и переменных будут такие, что англоязычный всё равно ничего не поймёт. Типа «way=/var/www/builds/» (с) Помогите с bash

monk ★★★★★
()
Ответ на: комментарий от monk

Чем транслит лучше русских названий?

Тем, что код будет написан единообразно на английском языке. Против русских комментариев в коде для внутреннего рынка я ничего против не имею. Комментарии решают все проблемы сопоставления кода с предметной областью. Даже в комментариях на английском можно указать термин на русском в скобках, если это имеет смысл.

А тогда «обороты счёта» и «отчёт о движении денежных средств» из этой же программы как будет?

Мне лень сейчас выдумывать. Я сейчас на работе пилю достаточно большой проект в области, схожей с бухгалтерской. Много специфичных терминов, много отсылок к законодательству. Все таблицы и столбцы, равно как и классы именуются на английском. Проблем с этим у команды где-то из 20-ти человек нет. В случае затруднений спрашиваем в чате, как лучше назвать.

Weres ★★★
()
Ответ на: комментарий от ya-betmen

У меня всё помещается, да и Java я люблю на самом деле. Но иногда многословность утомляет.

Weres ★★★
()
Ответ на: комментарий от Weres

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

Можно писать единообразно на русском.

У меня всё помещается, да и Java я люблю на самом деле.

Хотя если на Java, то да, проблематично.

monk ★★★★★
()
Ответ на: комментарий от monk

А на каком не проблематично писать единообразно на русском? Кроме 1C и Яр? Даже в лиспе стандартная библиотека написана на английском и без обертки писать всё на русском не получится. ТС пишет на Go, там те же проблемы.

Weres ★★★
()
Ответ на: комментарий от monk

У тебя есть таблица в которой должны храниться данные, которые на экране видны в полях «Код ИФНС», «ОКАТО», «Льгота при начислении пособий». Как назовёшь колонки?

Легко: символические идентификаторы на ингрише + таблица-словарь отображающая их в руссиш

annulen ★★★★★
()
Ответ на: комментарий от annulen

А как выглядят символические идентификаторы в вашем случае? На более менее крупных проектах использовали такой подход? Удобно?

Weres ★★★
()
Ответ на: комментарий от monk

англоязычный всё равно ничего не поймёт.

Так и так не поймет ибо предметная область.

ya-betmen ★★★★★
()
Ответ на: комментарий от monk

Так термины и названия отчетных форм это разные вещи, ясен пень что вторые могут не совпадать. Гуглеж по trial balance вполне себе выдает и свернутые и развернутые варианты.

ya-betmen ★★★★★
()
Ответ на: комментарий от Weres

При чем вообще кто на каком языке программирует? Имя таблицы - это данные, которые надо вращать. Какой 1С, какой Яр, какой лисп?

ql 'create table 中華人民共和國(id int, name string);'
2017/05/11 12:39:40 BEGIN TRANSACTION; create table 中華人民共和國(id int, name string);; COMMIT;
2017/05/11 12:39:40 1:33 unexpected 228, expected table name or one of [IF, identifier]
dnb ★★★★
() автор топика
Последнее исправление: dnb (всего исправлений: 1)
Ответ на: комментарий от monk

И как назовёшь класс, который формирует отчёт «оборотно-сальдовая ведомость»?

ObosalVedomost

anonymous
()
Ответ на: комментарий от Weres

А как выглядят символические идентификаторы в вашем случае? На более менее крупных проектах использовали такой подход? Удобно?

Видел дважды такой подход. Парус: id, r001, r016, r357. 1С: _Fld3577, _Doc123, _Doc123VT1. Очень неудобно, когда надо написать прямой запрос к СУБД.

monk ★★★★★
()
Ответ на: комментарий от Weres

Даже в лиспе стандартная библиотека написана на английском и без обертки писать всё на русском не получится.

На лиспе (схеме, форте, хаскеле, ...) нет обязательных ключевых слов. Даже на Си можно сделать при желании русифицированный диалект. А вот на Java в лучшем случае получается что-то вроде:

public class Накладная extends Документ
{
}

А в Lisp будет

(класс Накладная (Документ) ...)

monk ★★★★★
()
Последнее исправление: monk (всего исправлений: 1)
Ответ на: комментарий от Weres

Не пробовал. Но переменные в коде, связанные с этими понятиями, как-то называть все-равно придется, и отнюдь не кириллицей

annulen ★★★★★
()
Ответ на: комментарий от annulen

Но переменные в коде, связанные с этими понятиями, как-то называть все-равно придется, и отнюдь не кириллицей

Почему? Person.data(«Код НДФЛ») не подходит? А временные переменные всё равно однобуквенные.

monk ★★★★★
()
Ответ на: комментарий от Weres

Я тут библиотеку ищу, а не разговоры о нужности/ненужности кириллицы в программировании. Создайте отдельный топик.

dnb ★★★★
() автор топика
Ответ на: комментарий от monk

Чтобы использовать «класс», придется привязывать символ defclass, разве нет?

(defclass документ ()
  ((номер :accessor номер-документа
         :initform 'новый-документ
         :initarg :номер)))

Weres ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.