Страница 1 из 1

Как вычислить тип и размерность полей MySQL исходя из исходников на c++

Добавлено: 2023-07-03 14:40:41
Demis
Всем, Доброго!

Народ, подскажите, есть код на с++.
Он должен работать с MySQL, но с исходниками нет никаких данных о таблицах и их полях.

Название таблиц из исходника - вычисляемо.
Используются-ли хранимые процеруры - пока не понятно.

Вопрос: Как реконструировать тип, размерность полей?

Часть переменных достаточно легко вычисляется, например,
переменная в исходнике uint64_t start, значение которой потом пишется в таблицу БД, это будет поле с типом BIGINT.

Но есть и другие переменные:
unsigned short - какой близкий тип поля в мускуле?
и short - какой близкий тип поля в мускуле?

Или вот такое поле:

Код: Выделить всё

tuple.ofs = vector<unsigned short>( tuple2.ofs.begin()+left+1, tuple2.ofs.end() );
ofs это поле БД на MySQL, соответственно какой тип должен быть для сохранения вектора в таблице?

объявлено как параметр метода функции: const vector<TOutputTuple>& tuples
При этом:

Код: Выделить всё

struct TOutputTuple {
	uint64_t start;
	short k;
	vector<unsigned short> ofs;
};
Полные исходники открыто лежат на гите, если нужно дам ссылку.

Как вычислить тип и размерность полей MySQL исходя из исходников на c++

Добавлено: 2023-07-03 21:46:55
Neus
Может там какой-нибудь ОРМ используется, раз нет скрипта для создания БД.

Как вычислить тип и размерность полей MySQL исходя из исходников на c++

Добавлено: 2023-07-04 0:03:56
Demis
Что такое ОРМ?

Как вычислить тип и размерность полей MySQL исходя из исходников на c++

Добавлено: 2023-07-04 15:47:47
Neus
Опечатка, я имел ввиду ORM.

Как вычислить тип и размерность полей MySQL исходя из исходников на c++

Добавлено: 2023-07-04 18:43:28
Demis
А-а-а...
Тогда ну не совсем orm , я-бы сказал, что что-то посередине.
Т.е. объекты конечно собраны в библиотеку и потом используются методы.

Вплоть до того, что можно чистый sql гнать в некоторые методы.
Но добавленные программистом таблицы в общей библиотеке отсутствуют.

И, соответственно, почти чистый sql гонится.

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