On Fri, Apr 04, 2008 at 01:06:58PM -0700, Steven Fisher wrote:
> > It's not necessarily the same as strcasecmp().  You can have per- 
> > column collations.
> 
> Column names, not column contents. :) I don't like to have my C code  
> rely on the order of columns from a query. You can avoid depending on  
> parameter ordering with sqlite3_bind_parameter_index, but there  
> doesn't seem to be an equivalent for result columns.

Sure there is:

    const char *sqlite3_column_decltype(sqlite3_stmt*,int);
    int sqlite3_column_type(sqlite3_stmt*, int iCol);

Now, you have to parse the decltype to get the collation.

In any case, sqlite3StrICmp() doesn't take a collation name.  So
sqlite3StrICmp() would not make a good public interface.

I think something like:

    const char *sqlite3_column_text_collation(sqlite3_stmt*, int iCol);
    int sqlite3_textcmp(const char *collation, const char *s1, const char *s2);
    int sqlite3_textcmp16(const char *collation, const char *s1, const char 
*s2);

would be better.

I think I could volunteer to write something like that (I can do
copyright assignment and all that) if the project would welcome it.

Nico
-- 
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to