~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/plugin/storage_engine.cc

  • Committer: Brian Aker
  • Date: 2009-10-06 17:55:59 UTC
  • mfrom: (1160.1.5 foo)
  • Revision ID: brian@gaz-20091006175559-efaijw5igeb9zn6e
SE cleanup interface.

Show diffs side-by-side

added added

removed removed

Lines of Context:
852
852
}
853
853
 
854
854
 
855
 
} /* namespace drizzled */
856
 
 
857
 
 
858
 
 
859
 
handler *get_new_handler(TableShare *share, MEM_ROOT *alloc,
860
 
                         drizzled::plugin::StorageEngine *engine)
861
 
{
862
 
  handler *file;
863
 
 
864
 
  if (engine && engine->is_enabled())
865
 
  {
866
 
    if ((file= engine->create(share, alloc)))
867
 
      file->init();
868
 
    return(file);
869
 
  }
870
 
  /*
871
 
    Try the default table type
872
 
    Here the call to current_session() is ok as we call this function a lot of
873
 
    times but we enter this branch very seldom.
874
 
  */
875
 
  return(get_new_handler(share, alloc, ha_default_storage_engine(current_session)));
876
 
}
877
 
 
878
 
 
879
 
/**
880
 
  Return the default storage engine plugin::StorageEngine for thread
881
 
 
882
 
  @param ha_default_storage_engine(session)
883
 
  @param session         current thread
884
 
 
885
 
  @return
886
 
    pointer to plugin::StorageEngine
887
 
*/
888
 
drizzled::plugin::StorageEngine *ha_default_storage_engine(Session *session)
889
 
{
890
 
  if (session->variables.storage_engine)
891
 
    return session->variables.storage_engine;
892
 
  return global_system_variables.storage_engine;
893
 
}
894
 
 
895
855
/**
896
856
  Initiates table-file and calls appropriate database-creator.
897
857
 
900
860
  @retval
901
861
   1  error
902
862
*/
903
 
int ha_create_table(Session *session, const char *path,
904
 
                    const char *db, const char *table_name,
905
 
                    HA_CREATE_INFO *create_info,
906
 
                    bool update_create_info,
907
 
                    drizzled::message::Table *table_proto)
 
863
int plugin::StorageEngine::createTable(Session *session, const char *path,
 
864
                                       const char *db, const char *table_name,
 
865
                                       HA_CREATE_INFO *create_info,
 
866
                                       bool update_create_info,
 
867
                                       drizzled::message::Table *table_proto)
908
868
{
909
869
  int error= 1;
910
870
  Table table;
944
904
  return(error != 0);
945
905
}
946
906
 
 
907
 
 
908
 
 
909
} /* namespace drizzled */
 
910
 
 
911
 
 
912
 
 
913
handler *get_new_handler(TableShare *share, MEM_ROOT *alloc,
 
914
                         drizzled::plugin::StorageEngine *engine)
 
915
{
 
916
  handler *file;
 
917
 
 
918
  if (engine && engine->is_enabled())
 
919
  {
 
920
    if ((file= engine->create(share, alloc)))
 
921
      file->init();
 
922
    return(file);
 
923
  }
 
924
  /*
 
925
    Try the default table type
 
926
    Here the call to current_session() is ok as we call this function a lot of
 
927
    times but we enter this branch very seldom.
 
928
  */
 
929
  return(get_new_handler(share, alloc, ha_default_storage_engine(current_session)));
 
930
}
 
931
 
 
932
 
 
933
/**
 
934
  Return the default storage engine plugin::StorageEngine for thread
 
935
 
 
936
  @param ha_default_storage_engine(session)
 
937
  @param session         current thread
 
938
 
 
939
  @return
 
940
    pointer to plugin::StorageEngine
 
941
*/
 
942
drizzled::plugin::StorageEngine *ha_default_storage_engine(Session *session)
 
943
{
 
944
  if (session->variables.storage_engine)
 
945
    return session->variables.storage_engine;
 
946
  return global_system_variables.storage_engine;
 
947
}