Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit cb7cbc1

Browse files
committed
Hi, here are the patches to enhance existing MB handling. This time
I have implemented a framework of encoding translation between the backend and the frontend. Also I have added a new variable setting command: SET CLIENT_ENCODING TO 'encoding'; Other features include: Latin1 support more 8 bit cleaness See doc/README.mb for more details. Note that the pacthes are against May 30 snapshot. Tatsuo Ishii
1 parent 0d8e7f6 commit cb7cbc1

37 files changed

+1106
-332
lines changed

doc/README.mb

+60-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
postgresql 6.3 multi-byte (MB) support README April 21 1998
1+
postgresql 6.4 multi-byte (MB) support README Jun 5 1998
22

33
Tatsuo Ishii
44
t-ishii@sra.co.jp
55
http://www.sra.co.jp/people/t-ishii/PostgreSQL/
66

7-
Introduction
7+
0. Introduction
88

99
The MB support is intended for allowing PostgreSQL to handle
1010
multi-byte character sets such as EUC(Extended Unix Code), Unicode and
@@ -18,7 +18,7 @@ have been fixed. I just confirmed that the regression test ran fine
1818
and a few French characters could be used with the patch. Please let
1919
me know if you find any problem while using 8-bit characters)
2020

21-
How to use
21+
1. How to use
2222

2323
create src/Makefile.custom with a line including:
2424

@@ -36,6 +36,7 @@ where encoding_system is one of:
3636
EUC_TW Taiwan EUC
3737
UNICODE Unicode(UTF-8)
3838
MULE_INTERNAL Mule internal
39+
LATIN1 ISO 8859-1 English and some European laguages
3940

4041
Example:
4142

@@ -49,7 +50,54 @@ Example:
4950
If MB is disabled, nothing is changed except better supporting for
5051
8-bit single byte character sets.
5152

52-
References
53+
2. PGCLIENTENCODING
54+
55+
If an environment variable PGCLIENTENCODING is defined on the
56+
frontend, automatic encoding translation is done by the backend. For
57+
example, if the backend has been compiled with MB=EUC_JP and
58+
PGCLIENTENCODING=SJIS(Shift JIS: yet another Japanese encoding
59+
system), then any SJIS strings coming from the frontend would be
60+
translated to EUC_JP before going into the parser. Outputs from the
61+
backend would be translated to SJIS of course.
62+
63+
Supported encodings for PGCLIENTENCODING are:
64+
65+
EUC_JP Japanese EUC
66+
SJIS Yet another Japanese encoding
67+
EUC_CN Chinese EUC
68+
EUC_KR Korean EUC
69+
EUC_TW Taiwan EUC
70+
MULE_INTERNAL Mule internal
71+
LATIN1 ISO 8859-1 English and some European laguages
72+
73+
Note that UNICODE is not supported(yet). Also note that the
74+
translation is not always possible. Suppose you choose EUC_JP for the
75+
backend, LATIN1 for the frotend, then some Japanese characters cannot
76+
be translated into latin. In this case, a letter cannot be represented
77+
in the Latin character set, would be transformed as:
78+
79+
(HEXA DECIMAL)
80+
81+
3. SET CLIENT_ENCODING TO command
82+
83+
Actually setting the frontend side encoding information is done by a
84+
new command:
85+
86+
SET CLIENT_ENCODING TO 'encoding';
87+
88+
where encoding is one of the encodings those can be set to
89+
PGCLIENTENCODING. To query the current the frontend encoding:
90+
91+
SHOW CLIENT_ENCODING;
92+
93+
To return to the default encoding:
94+
95+
RESET CLIENT_ENCODING;
96+
97+
This would reset the frontend encoding to same as the backend
98+
encoding, thus no endoing translation would be performed.
99+
100+
4. References
53101

54102
These are good sources to start learning various kind of encoding
55103
systems.
@@ -64,7 +112,14 @@ Unicode: http://www.unicode.org/
64112
RFC 2044
65113
UTF-8 is defined here.
66114

67-
History
115+
5. History
116+
117+
Jun 5, 1988
118+
* add support for the encoding translation between the backend
119+
and the frontend
120+
* new command SET CLIENT_ENCODING etc. added
121+
* add support for LATIN1 character set
122+
* enhance 8 bit cleaness
68123

69124
April 21, 1998 some enhancements/fixes
70125
* character_length(), position(), substring() are now aware of

doc/README.mb.jp

+97-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
1+
postgresql 6.3.2 multi-byte (MB) support README 1998/5/25 $B:n@.(B
22

33
$B@P0fC#IW(B
44
t-ishii@sra.co.jp
@@ -9,8 +9,8 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
99
PostgreSQL $B$K$*$1$k%^%k%A%P%$%H%5%]!<%H$O0J2<$N$h$&$JFCD'$r;}$C$F$$$^$9!#(B
1010

1111
1.$B%^%k%A%P%$%HJ8;z$H$7$F!"F|K\8l!"Cf9q8l$J$I$N3F9q$N(B EUC$B!"(BUnicode$B!"(B
12-
mule internal code $B$,%3%s%Q%$%k;~$KA*Br2DG=!#%G!<%?%Y!<%9$K$O(B
13-
$B$3$N%3!<%I$N$^$^3JG<$5$l$^$9!#(B
12+
mule internal code, ISO-8859-1 $B$,%3%s%Q%$%k;~$KA*Br2DG=!#(B
13+
$B%G!<%?%Y!<%9$K$O$3$N%3!<%I$N$^$^3JG<$5$l$^$9!#(B
1414
2.$B%F!<%V%kL>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B($B$?$@$7!"(BOS $B$,%^%k%A%P%$%H(B
1515
$B$N%U%!%$%kL>$r5v$7$F$$$k$3$H$,I,MW(B)
1616
3.$B%+%i%`L>$K%^%k%A%P%$%HJ8;z$,;HMQ2DG=(B
@@ -19,6 +19,8 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
1919
6.$B%^%k%A%P%$%HJ8;z$N(B LIKE $B8!:w$,;HMQ2DG=(B
2020
7.character_length(), position(), substring() $B$G$N%^%k%A%P%$%H(B
2121
$B%5%]!<%H(B
22+
8.$B4D6-JQ?t(B PGCLIENTENCODING $B$K$h$j!"%/%i%$%"%s%HB&$NJ8;z%3!<%I(B
23+
$B$,%P%C%/%(%s%IB&$H0[$k>l9g$K!"<+F0E*$K%3!<%IJQ49$r9T$J$$$^$9!#(B
2224

2325
$B%$%s%9%H!<%k!'(B
2426
$B%G%U%)%k%H$G$O(B PostgreSQL $B$O%^%k%A%P%$%H$r%5%]!<%H$7$F$$$^$;$s!#(B
@@ -46,6 +48,9 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
4648
$B$9$J$o$A(B 0xffff $B$^$G$G$9!#(B
4749
MULE_INTERNAL mule $B$NFbIt%3!<%I!#$?$@$7!"(BType N $B$NITDjD9J8;z$O(B
4850
$B%5%]!<%H$7$F$$$^$;$s!#(B
51+
LATIN1 ISO8859 Latin 1$B!#%7%s%0%k%P%$%H$J$s$G$9$1$I!"(B
52+
$B;n$7$H$$$&$3$H$G(B:-)$B$A$J$_$K!"(BLATIN2 etc. $B$O(B
53+
$BL$%5%]!<%H!#(B
4954

5055
$BA*Br$NL\0B$H$7$F$O!"1Q8l$HF|K\8l$7$+;H$o$J$$>l9g$O(B EUC_JP($BF1MM$K!"Cf(B
5156
$B9q8l$7$+;H$o$J$$>l9g$O(B EUC_CN... $B$J$I$H$J$j$^$9(B)$B!"$=$NB>$N8@8l$b;H$$$?(B
@@ -64,13 +69,101 @@ postgresql 6.3.2 multi-byte (MB) support README 1998/4/21 $B:n@.(B
6469
http://www.sra.co.jp/people/t-ishii/PostgreSQL/ $B$G$b4JC1$J%$%s%9%H!<(B
6570
$B%kJ}K!$r>R2p$7$F$$$^$9!#(B
6671

72+
$B4D6-JQ?t(B PGCLIENTENCODING $B$K$D$$$F!'(B
73+
74+
$B%G%U%)%k%H$G$O!"%3%s%Q%$%k;~$K;XDj$7$?%5!<%PB&$NJ8;z%3!<%I$H!"(Bpsql
75+
$B$J$I$N%/%i%$%"%s%HB&$NJ8;z%3!<%I$,0lCW$7$F$$$k$b$N$H8+Jo$5$l$^$9!#%5!<(B
76+
$B%PB&$H0[$kJ8;z%3!<%I$r;H$$$?$$>l9g$O!"4D6-JQ?t(B PGCLIENTENCODING $B$r@_(B
77+
$BDj$7$^$9!#@_Dj2DG=$JJ8;z%3!<%I$O!">e5-$K2C$(!"(BSJIS ($B%7%U%H(BJIS)
78+
$B$,;XDj$G$-$^$9!#(B
79+
80+
$B$A$J$_$K!"(BSJIS $B$O(B JISX0201 $B$N(B 1$B%P%$%H%+%J!"$$$o$f$k!VH>3Q%+%?(B
81+
$B%+%J!W$b%5%]!<%H$7$F$$$^$9(B($B7h$7$F!VH>3Q%+%?%+%J!W$N;HMQ$r$*4+(B
82+
$B$a$7$F$$$k$o$1$8$c$J$$$G$9$,(B)$B!#(B
83+
84+
$B$?$H$($P!"(BMB=EUC_JP $B$G(B PostgeSQL $B$,%$%s%9%H!<%k$5$l$F$$$k>l9g!"(B
85+
postmaster $B$rN)$A>e$2$k$H$-$K4D6-JQ?t(B PGCLIENTENCODING $B$K(B SJIS $B$r@_(B
86+
$BDj$9$k$H!"%/%i%$%"%s%H$O(B SJIS $B%3!<%I$G(B PostgreSQL $B$K%"%/%;%9$G$-$k$h(B
87+
$B$&$K$J$j$^$9!#$?$@$7!"%G!<%?%Y!<%9$K3JG<$5$l$k%G!<%?<+BN$O$"$/$^$G(B
88+
MB $B$G;XDj$7$?(B EUC_JP $B$N$^$^$G$9!#(B
89+
90+
$B%/%i%$%"%s%HB&$G%;%C%7%g%sKh$KJ8;z%3!<%I$rJQ$($k$3$H$b$G$-$^$9!#(B
91+
$B%;%C%7%g%s3+;O;~$K4D6-JQ?t(B PGCLIENTENCODING $B$,%;%C%H$5$l$F$$$k$H!"$=(B
92+
$B$l$,M%@h$5$l$F%/%i%$%"%s%HB&$NJ8;z%3!<%I$K:NMQ$5$l$^$9!#$3$N5!G=$rMx(B
93+
$BMQ$9$k$H!"$"$k%f!<%6$O(B EUC_JP $B$G!"JL$J%f!<%6$O(B SJIS $B$GF1$8%G!<%?%Y!<(B
94+
$B%9$K%"%/%;%9$9$k$H$$$&$h$&$J$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B
95+
96+
MB=MULE_INTERNAL $B$G(B PostgreSQL $B$r%$%s%9%H!<%k$7$F$*$/$H!"IaCJ$O(B
97+
EUC_JP $B$G%/%i%$%"%s%H$rMxMQ$7!"J#?t$NJ8;z=89g$r:.:_$5$;$k$H$-$@$1%/(B
98+
$B%i%$%"%s%H$r(B MULE_INTERNAL $B$K@_Dj$9$k$J$I$N;H$$J,$1$,$G$-$FJXMx$G$9!#(B
99+
$B$?$@!"0lHL$K(B EUC_JP $B$KHf$Y!"(BMULE_INTERNAL $B$K$h$k%G!<%?I=8=$O$d$d%9%Z!<(B
100+
$B%9$r6t$&$N$G!"$=$N$X$s$O9MN8$7$F$*$/I,MW$,$"$j$^$9!#$?$H$($P!"(B2$B%P%$(B
101+
$B%H$GI=8=$G$-$k4A;z$O(B MULE_INTERNAL $B$G$O(B 3$B%P%$%H$rMW$7$^$9!#(B
102+
103+
$BCm0U$7$F$*$/I,MW$,$"$k$N$O!"%5!<%PB&$NJ8;z%3!<%I$H%/%i%$%"%s%HB&$NJ8(B
104+
$B;z%3!<%I$,$$$D$bAj8_JQ49$G$-$k$H$O8B$i$J$$$3$H$G$9!#6KC<$JOC!"%5!<%P(B
105+
$BB&$,(B EUC_JP $B$J$N$K!"%/%i%$%"%s%HB&$,(B EUC_KR $B$@$C$?$i$I$&$J$k$G$7$g$&!#(B
106+
$B$3$N>l9g(B PostgreSQL $B$OJQ49$G$-$J$$%3!<%I$r(B 16$B?JI=8=$KJQ49$7$F$7$^$$(B
107+
$B$^$9!#$?$H$($P!"(B"(bdae)" $B$N$h$&$K!#$J$*!"$3$N(B 16$B?JI=8=$O(B mule
108+
internalcode $B$N%3!<%I$G$"$k$3$H$KCm0U$7$F2<$5$$!#$3$l$O!"D>@\%/%i%$(B
109+
$B%"%s%H(B <--> $B%5!<%P$NJ8;z%3!<%I$rJQ49$9$k$N$G$O$J$/!"0lEYFbItI=8=$G$"(B
110+
$B$k(B mule internal code $B$r7PM3$7$F$$$k$?$a$G$9!#(B
111+
112+
$B%/%i%$%"%s%HB&$NJ8;z%3!<%I$N@_Dj$O!"(B"set client_encoding" $B%3%^%s%I$G(B
113+
$B$b2DG=$G$9!#$?$H$($P!"(B
114+
115+
set client_encoding to 'sjis';
116+
117+
$B$GL@<(E*$K%/%i%$%"%s%HB&$NJ8;z%3!<%I$r(B SJIS $B$K@_Dj$G$-$^$9!#<B:]!"%/(B
118+
$B%i%$%"%s%H$,%5!<%P$K@\B3$9$k:]$K$O(B libpq $B$NCf$G(B "set
119+
client_encoding" $B%3%^%s%I$rH/9T$7$F$$$^$9!#%;%C%7%g%sCf$K(B
120+
set client_encoding" $B%3%^%s%I$rH/9T$9$l$P!"F0E*$KJ8;z%3!<%I$N@ZBX$((B
121+
$B$,$G$-$^$9$,!"$=$N:]$K$O4D6-JQ?t(B PGCLIENTENCODING $B$rF1;~$K%/%i%$%"%s(B
122+
$B%H%"%W%j%1!<%7%g%s$NCf$G@_Dj$7D>$9I,MW$,$"$j$^$9!#(B(psql $B$K$O8=:_$3$N(B
123+
$B5!G=$,$J$$$?$a!";v<B>eF0E*$K%/%i%$%"%s%HB&$NJ8;z%3!<%I$r@_Dj$9$k$3$H(B
124+
$B$,$G$-$^$;$s!#(B)
125+
126+
$B8=:_@_Dj$5$l$F$$$k%/%i%$%"%s%HB&$NJ8;z%3!<%I$O(B
127+
128+
show client_encoding;
129+
130+
$B$G;2>H$G$-$^$9!#$^$?!"(B
131+
132+
reset client_encoding;
133+
134+
$B$O!"%G%U%)%k%H$N%/%i%$%"%s%HJ8;z%3!<%I@_Dj$KI|5"$5$;$^$9!#(Bpostmaster
135+
$B$rN)$A>e$2$k$H$-$K4D6-JQ?t(B PGCLIENTENCODING $B$,@_Dj$5$l$F$$$k$H$=$NJ8(B
136+
$B;z%3!<%I$K!"$=$&$G$J$1$l$P%3%s%Q%$%k;~$K;XDj$7$?%5!<%PB&$NJ8;z%3!<%I(B
137+
$B$HF1$8$K$J$j$^$9!#(B
138+
139+
$B@)8B;v9`!'(B
140+
141+
SJIS $B$r;HMQ$9$k>l9g!"(BPostgreSQL $B$N%/%i%$%"%s%H$G$^$H$b$KBP1~$7$F$$$k(B
142+
$B$N$O(B psql $B$@$1$G$9!#(BTcl/Tk$B!"$=$N$[$+$OBP1~$7$F$^$;$s!#(B
143+
67144
$B<U<-!'(B
145+
68146
o $B3F<oJ8;z%;%C%H!"%3!<%I7O$K$D$$$F!"F|K\8l(B PostgreSQL $B%a!<%j%s%0%j%9%H(B
69147
$B$N%a%s%P$NJ}$+$i%"%I%P%$%9$rD:$-$^$7$?!#$3$3$K46<U$7$^$9!#(B
148+
$B$^$?!"(BSJIS $BBP1~$K$D$$$F$O!";T@n(B@$B$*CcBg$5$s$N%Q%C%A$r;29M$K$5$;$F$$(B
149+
$B$?$@$-$^$7$?!#(B
70150

71151
$B2~DjMzNr!'(B
72152

73-
1998/4/21 $B5!G=DI2C!?%P%0=$@5(B
153+
1998/5/25 $B%P%0=$@5(B(mb_b3.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!"(B
154+
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
155+
156+
1998/5/18 $B5!G=DI2C!?%P%0=$@5(B(mb_b2.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!"(B
157+
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$kM=Dj(B)
158+
* $B4D6-JQ?t(B PGCLIENTENCODING $B$N%5%]!<%H!#%/%i%$%"%s%HB&$N(B
159+
$BJ8;z%3!<%I$r;XDj$9$k!#8=:_!"(BSJIS, EUC_*, MULE_INTERNAL, LATIN1
160+
$B$,;XDj$G$-$k!#$^$?!"(B
161+
set client_encoding to 'sjis';
162+
$B$G$b2DG=(B
163+
* 8bit $BJ8;z$,EO$k$HLdBj$,5/$-$k2U=j$K$G$-$k$@$1BP1~(B
164+
165+
1998/4/21 $B5!G=DI2C!?%P%0=$@5(B(mb_b1.patch $B$H$7$F(B pgsql-jp ML $B$K%j%j!<%9!"(B
166+
$BK\2H$G$O(B 6.4 snapshot $B$K<h$j9~$^$l$F$$$k(B)
74167
* character_length(), position(), substring() $B$N%^%k%A%P%$%H(B
75168
$BBP1~(B
76169
* octet_length() $BDI2C(B $B"*(B initdb $B$N$d$jD>$7I,MW(B

src/Makefile.global.in

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#
88
#
99
# IDENTIFICATION
10-
# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.42 1998/05/12 15:42:08 momjian Exp $
10+
# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.43 1998/06/16 07:29:15 momjian Exp $
1111
#
1212
# NOTES
1313
# Essentially all Postgres make files include this file and use the
@@ -150,7 +150,7 @@ X11_LIBS= -lX11 @X_EXTRA_LIBS@
150150
#
151151
# enable multi-byte support
152152
# choose one of:
153-
# EUC_JP,EHC_CN,EUC_KR,EUC_TW,UNICODE,MULE_INTERNAL
153+
# EUC_JP,EUC_CN,EUC_KR,EUC_TW,UNICODE,MULE_INTERNAL,LATIN1
154154
MB=@MB@
155155

156156
##############################################################################

src/backend/access/common/Makefile

+5-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Makefile for access/common
55
#
66
# IDENTIFICATION
7-
# $Header: /cvsroot/pgsql/src/backend/access/common/Makefile,v 1.10 1998/04/06 00:20:44 momjian Exp $
7+
# $Header: /cvsroot/pgsql/src/backend/access/common/Makefile,v 1.11 1998/06/16 07:29:18 momjian Exp $
88
#
99
#-------------------------------------------------------------------------
1010

@@ -13,6 +13,10 @@ include ../../../Makefile.global
1313

1414
CFLAGS+=-I../..
1515

16+
ifdef MB
17+
CFLAGS+= -DMB=$(MB)
18+
endif
19+
1620
OBJS = heaptuple.o heapvalid.o indextuple.o indexvalid.o printtup.o \
1721
scankey.o tupdesc.o
1822

src/backend/access/common/printtup.c

+18-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.28 1998/05/14 17:18:12 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/access/common/printtup.c,v 1.29 1998/06/16 07:29:18 momjian Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -23,6 +23,10 @@
2323
#include <libpq/libpq.h>
2424
#include <utils/syscache.h>
2525

26+
#ifdef MB
27+
#include <commands/variable.h>
28+
#endif
29+
2630
/* ----------------------------------------------------------------
2731
* printtup / debugtup support
2832
* ----------------------------------------------------------------
@@ -80,6 +84,9 @@ printtup(HeapTuple tuple, TupleDesc typeinfo)
8084
Datum attr;
8185
bool isnull;
8286
Oid typoutput;
87+
#ifdef MB
88+
unsigned char *p;
89+
#endif
8390

8491
/* ----------------
8592
* tell the frontend to expect new tuple data
@@ -125,8 +132,14 @@ printtup(HeapTuple tuple, TupleDesc typeinfo)
125132
outputstr = fmgr(typoutput, attr,
126133
gettypelem(typeinfo->attrs[i]->atttypid),
127134
typeinfo->attrs[i]->atttypmod);
135+
#ifdef MB
136+
p = pg_server_to_client(outputstr, strlen(outputstr));
137+
pq_putint(strlen(p) + VARHDRSZ, VARHDRSZ);
138+
pq_putnchar(p, strlen(p));
139+
#else
128140
pq_putint(strlen(outputstr) + VARHDRSZ, VARHDRSZ);
129141
pq_putnchar(outputstr, strlen(outputstr));
142+
#endif
130143
pfree(outputstr);
131144
}
132145
}
@@ -268,8 +281,12 @@ printtup_internal(HeapTuple tuple, TupleDesc typeinfo)
268281
/* variable length, assume a varlena structure */
269282
len = VARSIZE(attr) - VARHDRSZ;
270283

284+
#ifdef MB
285+
pq_putncharlen(VARDATA(attr), len);
286+
#else
271287
pq_putint(len, VARHDRSZ);
272288
pq_putnchar(VARDATA(attr), len);
289+
#endif
273290
#ifdef IPORTAL_DEBUG
274291
{
275292
char *d = VARDATA(attr);

src/backend/commands/Makefile

+9-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# Makefile for commands
55
#
66
# IDENTIFICATION
7-
# $Header: /cvsroot/pgsql/src/backend/commands/Makefile,v 1.12 1998/04/06 00:22:19 momjian Exp $
7+
# $Header: /cvsroot/pgsql/src/backend/commands/Makefile,v 1.13 1998/06/16 07:29:20 momjian Exp $
88
#
99
#-------------------------------------------------------------------------
1010

@@ -13,11 +13,19 @@ include ../../Makefile.global
1313

1414
CFLAGS += -I..
1515

16+
ifdef MB
17+
CFLAGS += -DMB=$(MB)
18+
endif
19+
1620
OBJS = async.o creatinh.o command.o copy.o defind.o define.o \
1721
remove.o rename.o vacuum.o version.o view.o cluster.o \
1822
recipe.o explain.o sequence.o trigger.o user.o proclang.o \
1923
dbcommands.o variable.o
2024

25+
ifdef MB
26+
OBJS += mbutils.o
27+
endif
28+
2129
all: SUBSYS.o
2230

2331
SUBSYS.o: $(OBJS)

0 commit comments

Comments
 (0)