Thread: multi-byte support broken in current
The multi-byte support in current had been broken for a while due to missing compile flag in Makefile.global.in. I have just committed fix for the problem, and should be ok now. -- Tatsuo Ishii
Huh? MULTIBYTE is defined in include/config.h, where it should be, when you configure with --enable-multibyte. I explicitly removed the -DMULTIBYTE option from the compile line. Perhaps the portions of the code that were "broken" need to include c.h? The -DMULTIBYTE thing ought to go. On 2000-01-18, Tatsuo Ishii mentioned: > The multi-byte support in current had been broken for a while due to > missing compile flag in Makefile.global.in. I have just committed fix > for the problem, and should be ok now. > -- > Tatsuo Ishii > > ************ > > -- Peter Eisentraut Sernanders väg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
> Huh? MULTIBYTE is defined in include/config.h, where it should be, when > you configure with --enable-multibyte. I explicitly removed the > -DMULTIBYTE option from the compile line. Perhaps the portions of the code > that were "broken" need to include c.h? The -DMULTIBYTE thing ought to go. Oh, I see. I reverted back my change to Makefile.global. Sorry for the confusion. BTW, while running configure, --with-mb is silently ignored. This is not good since users might believe multibyte has been enabled. I have added checking for --with-mb. If it is specified, configure now prints an error message and exits. -- Tatsuo Ishii
Further investigation showed that header files where indeed missing in some files, in particular the regex code. Is that what was broken? I fixed that now and removed all the MBFLAGS business. Every file should include "postgres.h", so it grabs the #define MULTIBYTE 1 from include/config.h. If you got any more problems with this, let me know and I'll help fix it. Btw., I tried running the multibyte regression tests, that didn't work so well. On 2000-01-18, Tatsuo Ishii mentioned: > The multi-byte support in current had been broken for a while due to > missing compile flag in Makefile.global.in. I have just committed fix > for the problem, and should be ok now. > -- > Tatsuo Ishii > > ************ > > -- Peter Eisentraut Sernanders väg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
> Further investigation showed that header files where indeed missing in > some files, in particular the regex code. Is that what was broken? I fixed > that now and removed all the MBFLAGS business. Every file should include > "postgres.h", so it grabs the #define MULTIBYTE 1 from include/config.h. > If you got any more problems with this, let me know and I'll help fix it. I did not see such a problem. I just saw -DMULTIBYTE was missing and thought MB was broken (that was a misunderstanding). Anyway I have done a cvs up and seen your fixes working well. > Btw., I tried running the multibyte regression tests, that didn't work so > well. Yes, the regression test (src/test/regress) does not work with SQL_ASCII because test cases for it is missing in sql/. However, I'm not certain now including the multibyte test cases in the regression test suite is a good thing. Maybe src/test/mb is only the right place for MB and we should remove MB stuffs from the regression. BTW, src/test/mb tests are broken due to the changes of psql output. euc_jp .. CREATE DATABASE ok sjis .. ok euc_kr .. CREATE DATABASE failed euc_cn .. CREATE DATABASE failed euc_tw .. CREATE DATABASE failed big5 .. failed unicode .. CREATE DATABASE failed mule_internal .. CREATE DATABASE failed I have fixed for EUC_JP and SJIS cases and am going to fix rest of them. But reading files written in languages that I never understand is really hard:-) -- Tatsuo Ishii