| 597 | } while (0) |
| 598 | |
| 599 | int get_type(const char **sqlstr) |
| 600 | { |
| 601 | while (isspace(**sqlstr)) |
| 602 | (*sqlstr)++; |
| 603 | if (!*sqlstr || strncasecmp(*sqlstr, "CDB2_", 5) != 0) |
| 604 | return -1; |
| 605 | |
| 606 | *sqlstr += 5; // skip CDB2_ |
| 607 | checkfortype(*sqlstr, "INTEGER", CDB2_INTEGER); |
| 608 | checkfortype(*sqlstr, "REAL", CDB2_REAL); |
| 609 | checkfortype(*sqlstr, "CSTRING", CDB2_CSTRING); |
| 610 | checkfortype(*sqlstr, "BLOB", CDB2_BLOB); |
| 611 | checkfortype(*sqlstr, "DATETIMEUS", CDB2_DATETIMEUS); |
| 612 | checkfortype(*sqlstr, "DATETIME", CDB2_DATETIME); |
| 613 | checkfortype(*sqlstr, "INTERVALYM", CDB2_INTERVALYM); |
| 614 | checkfortype(*sqlstr, "INTERVALDSUS", CDB2_INTERVALDSUS); |
| 615 | checkfortype(*sqlstr, "INTERVALDS", CDB2_INTERVALDS); |
| 616 | return -1; |
| 617 | } |
| 618 | |
| 619 | char *get_parameter(const char **sqlstr) |
| 620 | { |