problem implement db2 file last rev core 8.3.7

Hi,

i want implement lfg list but i want implement GroupFinderActivity.db2, GroupFinderActivityGrp.db2 and GroupFinderCategory.db2.

After add structure, meta, loadinfo, the core start but i ve this error :

thanks for help me :

struct GroupFinderActivityEntry
{
uint32 ID;
LocalizedString* FullName;
LocalizedString* ShortName;
uint8 GroupFinderCategoryID;
uint8 OrderIndex;
uint16 GroupFinderActivityGrpID;
uint8 MinLevel;
uint8 MaxLevelSuggestion;
uint32 Flags;
uint16 MinGearLevelSuggestion;
uint16 MapID;
uint8 DifficultyID;
uint16 AreaID;
uint8 MaxPlayers;
uint8 DisplayType;
};

struct GroupFinderActivityMeta
{
    static DB2Meta const* Instance()
    {
        static DB2MetaField const fields[14] =
        {
            { FT_STRING, 1, true },
            { FT_STRING, 1, true },
            { FT_BYTE, 1, false },
            { FT_BYTE, 1, true },
            { FT_SHORT, 1, false },
            { FT_BYTE, 1, false },
            { FT_BYTE, 1, false },
            { FT_INT, 1, false },
            { FT_SHORT, 1, false },
            { FT_SHORT, 1, false },
            { FT_BYTE, 1, false },
            { FT_SHORT, 1, false },
            { FT_BYTE, 1, false },
            { FT_BYTE, 1, false },
        };
        static DB2Meta instance(974813, -1, 14, 14, 0xB0090189, fields, -1);
        return &instance;
    }
};

struct GroupFinderActivityLoadInfo
{
    static DB2LoadInfo const* Instance()
    {
        static DB2FieldMeta const fields[] =
        {
            { false, FT_INT, "ID" },
            { false, FT_STRING, "FullName" },
            { false, FT_STRING, "ShortName" },
            { false, FT_BYTE, "GroupFinderCategoryID" },
            { true, FT_BYTE, "OrderIndex" },
            { false, FT_SHORT, "GroupFinderActivityGrpID" },
            { false, FT_BYTE, "MinLevel" },
            { false, FT_BYTE, "MaxLevelSuggestion" },
            { false, FT_INT, "Flags" },
            { false, FT_SHORT, "MinGearLevelSuggestion" },
            { false, FT_SHORT, "MapID" },
            { false, FT_BYTE, "DifficultyID" },
            { false, FT_SHORT, "AreaID" },
            { false, FT_BYTE, "MaxPlayers" },
            { false, FT_BYTE, "DisplayType" },
        };
        static DB2LoadInfo const loadInfo(&fields[0], std::extent<decltype(fields)>::value, GroupFinderActivityMeta::Instance(), HOTFIX_SEL_GROUP_FINDER_ACTIVITY);
        return &loadInfo;
    }
};

PreparedStatementBase::setBool ASSERTION FAILED: index < statement_data.size()

If you are using Visual Studio then recent versions have some sort of bug not properly clearing/recompiling changed files, try fully deleting your build dir and start fresh from cmake

None of DB2 code uses PreparedStatementBase::setBool which is why i think you are running into that bug

HOTFIX_SEL_GROUP_FINDER_ACTIVITY does’nt use preparestatement? I ve tried your solution, i have the same problem…I don’t understand why…

I said it doesnt use setBool, not prepared statement…

yes, it’s problem with database? The structure is good?

Yep, that looks correct

Oh, how did you create the prepared statement? Did you write it by hand?

If yes, then you should use https://github.com/Shauren/WowClientDB2MySQLTableGenerator instead to generate fully correct queries

yes, ok i will test.

Same result…

At this point I will say this: post full changes and the crash log to get any more help with this

hi shauren; i’ve found the problem. it’s database column order an i don’t know why, the column “ID” of the db2 is on unsigned, and i find it in signed. If i write it in signed, the core send this error

Shouldnt matter but if you fixed it, great