Re: Postgres provider to use gda-srv lib



Le jeu, 06 jui 2000, vous avez écrit :
> 
> So we need a datatype that's something like
> 
> struct type_unknown {
>  void * data;
>  gint64 len;
> }
> 
> That should provide a non-intrusive hook for developers, and shouldn't limit
> us too much if it needs to be fleshed out later, right?
> 

So we could modify the gda.idl file to (for the relevant parts):
 enum ValueType {
		TypeNull,    TypeBigint, TypeBinary,
		TypeBoolean, TypeBstr,   TypeChar,
		TypeCurrency,TypeDate,   TypeDbDate,
		TypeDbTime,  TypeDbTimestamp, TypeDecimal,
		TypeDouble,  TypeError,  TypeInteger,
		TypeLongvarbin, TypeLongvarchar, TypeLongvarwchar,
		TypeNumeric, TypeSingle, TypeSmallint,
		TypeTinyint, TypeUBigint, TypeUSmallint,
		TypeVarchar, TypeVarbin,  TypeVarwchar,
		TypeFixchar, TypeFixbin,  TypeFixwchar,
		TypeUnknown, TypeLastValue                 <----------- New type
 	  };


	union Value switch (ValueType) {
	case TypeTinyint:
		char c;
	case TypeBigint:
		long long ll;
	case TypeBoolean:
		boolean b;
	case TypeDate:
		Date d;
	case TypeDbDate:
		DbDate dbd;
	case TypeDbTime:
		DbTime dbt;
	case TypeDbTimestamp:
		DbTimestamp dbtstamp;
	case TypeDouble:
		double dp;    
		/* case TypeError: NYI */
	case TypeInteger:
		long i;
	case TypeBinary:
	case TypeVarbin:
	case TypeVarwchar:
	case TypeLongvarwchar:
	case TypeLongvarbin:
	case TypeUnknown:                <----------------- New line
		VarBinString lvb;
	case TypeFixbin:
	case TypeFixwchar:
	case TypeFixchar:
		VarBinString fb;
	case TypeCurrency:
	case TypeDecimal:
	case TypeNumeric:
	case TypeChar:
	case TypeVarchar:
	case TypeLongvarchar:
		string  lvc;
	case TypeSingle:
		float  f;
	case TypeSmallint:
		short  si;
	case TypeUBigint:
		unsigned long long ull;
	case TypeUSmallint:
		unsigned short us;
	};

This would give us the flexibility you talked about. If it is ok with you,
Rodrigo, could you do the IDL files modification as I'm not at all at ease with
the CORBA stuff.

Cheers,

Vivien




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]