~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to plugin/function_engine/function.h

  • Committer: Monty Taylor
  • Date: 2011-02-13 17:26:39 UTC
  • mfrom: (2157.2.2 give-in-to-pkg-config)
  • mto: This revision was merged to the branch mainline in revision 2166.
  • Revision ID: mordred@inaugust.com-20110213172639-nhy7i72sfhoq13ms
Merged in pkg-config fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* - mode: c; c-basic-offset: 2; indent-tabs-mode: nil; -*-
2
2
 *  vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
3
3
 *
4
 
 *  Copyright (C) 2009 Sun Microsystems
 
4
 *  Copyright (C) 2009 Sun Microsystems, Inc.
5
5
 *
6
6
 *  This program is free software; you can redistribute it and/or modify
7
7
 *  it under the terms of the GNU General Public License as published by
25
25
#include <drizzled/session.h>
26
26
#include <drizzled/plugin/storage_engine.h>
27
27
#include <drizzled/plugin/table_function.h>
 
28
#include <drizzled/identifier/schema.h>
28
29
 
29
30
extern const drizzled::CHARSET_INFO *default_charset_info;
30
31
 
34
35
 
35
36
class Function : public drizzled::plugin::StorageEngine
36
37
{
 
38
  drizzled::message::schema::shared_ptr information_message;
 
39
  drizzled::message::schema::shared_ptr data_dictionary_message;
37
40
 
38
41
public:
39
42
  Function(const std::string &name_arg);
45
48
 
46
49
  int doCreateTable(drizzled::Session&,
47
50
                    drizzled::Table&,
48
 
                    const drizzled::TableIdentifier &,
 
51
                    const drizzled::identifier::Table &,
49
52
                    drizzled::message::Table&)
50
53
  {
51
 
    return EPERM;
 
54
    return drizzled::ER_TABLE_PERMISSION_DENIED;
52
55
  }
53
56
 
54
 
  int doDropTable(drizzled::Session&, const drizzled::TableIdentifier&)
 
57
  int doDropTable(drizzled::Session&, const drizzled::identifier::Table&)
55
58
  { 
56
 
    return EPERM; 
 
59
    return drizzled::HA_ERR_NO_SUCH_TABLE; 
57
60
  }
58
61
 
59
 
  virtual drizzled::Cursor *create(drizzled::TableShare &table);
 
62
  virtual drizzled::Cursor *create(drizzled::Table &table);
60
63
 
61
64
  const char **bas_ext() const 
62
65
  {
68
71
    return drizzled::plugin::TableFunction::getFunction(path);
69
72
  }
70
73
 
71
 
  bool doCanCreateTable(const drizzled::TableIdentifier &identifier);
72
 
 
73
 
 
74
 
  void doGetTableNames(drizzled::CachedDirectory&, 
75
 
                       const drizzled::SchemaIdentifier &schema_identifier,
76
 
                       std::set<std::string> &set_of_names);
 
74
  bool doCanCreateTable(const drizzled::identifier::Table &identifier);
 
75
 
77
76
 
78
77
  int doGetTableDefinition(drizzled::Session &session,
79
 
                           const drizzled::TableIdentifier &identifier,
 
78
                           const drizzled::identifier::Table &identifier,
80
79
                           drizzled::message::Table &table_message);
81
80
 
82
 
  void doGetSchemaIdentifiers(drizzled::SchemaIdentifiers&);
83
 
 
84
 
  bool doDoesTableExist(drizzled::Session& session, const drizzled::TableIdentifier &identifier);
85
 
 
86
 
  bool doGetSchemaDefinition(const drizzled::SchemaIdentifier &schema, drizzled::message::Schema &schema_message);
87
 
 
88
 
  int doRenameTable(drizzled::Session&, const drizzled::TableIdentifier &, const drizzled::TableIdentifier &)
 
81
  void doGetSchemaIdentifiers(drizzled::identifier::Schema::vector&);
 
82
 
 
83
  bool doDoesTableExist(drizzled::Session& session, const drizzled::identifier::Table &identifier);
 
84
 
 
85
  bool doGetSchemaDefinition(const drizzled::identifier::Schema &schema, drizzled::message::schema::shared_ptr &schema_message);
 
86
 
 
87
  int doRenameTable(drizzled::Session&, const drizzled::identifier::Table &, const drizzled::identifier::Table &)
89
88
  {
90
89
    return EPERM;
91
90
  }
92
91
 
93
92
  void doGetTableIdentifiers(drizzled::CachedDirectory &directory,
94
 
                             const drizzled::SchemaIdentifier &schema_identifier,
95
 
                             drizzled::TableIdentifiers &set_of_identifiers);
 
93
                             const drizzled::identifier::Schema &schema_identifier,
 
94
                             drizzled::identifier::Table::vector &set_of_identifiers);
96
95
};
97
96
 
98
97
#endif /* PLUGIN_FUNCTION_ENGINE_FUNCTION_H */