~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/sql_table.cc

  • Committer: Brian Aker
  • Date: 2010-12-22 16:40:49 UTC
  • mto: (2022.2.1 clean)
  • mto: This revision was merged to the branch mainline in revision 2025.
  • Revision ID: brian@tangent.org-20101222164049-vjbi97jztrlr01l1
Encapsulate client call. Also remove the need to call current_session when
looking for privs for processlist.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1748
1748
  item->maybe_null = 1;
1749
1749
  field_list.push_back(item = new Item_empty_string("Msg_text", 255, cs));
1750
1750
  item->maybe_null = 1;
1751
 
  if (session->client->sendFields(&field_list))
 
1751
  if (session->getClient()->sendFields(&field_list))
1752
1752
    return true;
1753
1753
 
1754
1754
  for (table= tables; table; table= table->next_local)
1803
1803
    {
1804
1804
      char buff[FN_REFLEN + DRIZZLE_ERRMSG_SIZE];
1805
1805
      uint32_t length;
1806
 
      session->client->store(table_name);
1807
 
      session->client->store(operator_name);
1808
 
      session->client->store(STRING_WITH_LEN("error"));
 
1806
      session->getClient()->store(table_name);
 
1807
      session->getClient()->store(operator_name);
 
1808
      session->getClient()->store(STRING_WITH_LEN("error"));
1809
1809
      length= snprintf(buff, sizeof(buff), ER(ER_OPEN_AS_READONLY),
1810
1810
                       table_name);
1811
 
      session->client->store(buff, length);
 
1811
      session->getClient()->store(buff, length);
1812
1812
      transaction_services.autocommitOrRollback(session, false);
1813
1813
      session->endTransaction(COMMIT);
1814
1814
      session->close_thread_tables();
1815
1815
      lex->reset_query_tables_list(false);
1816
1816
      table->table=0;                           // For query cache
1817
 
      if (session->client->flush())
 
1817
      if (session->getClient()->flush())
1818
1818
        goto err;
1819
1819
      continue;
1820
1820
    }
1845
1845
      DRIZZLE_ERROR *err;
1846
1846
      while ((err= it++))
1847
1847
      {
1848
 
        session->client->store(table_name);
1849
 
        session->client->store(operator_name);
1850
 
        session->client->store(warning_level_names[err->level].str,
 
1848
        session->getClient()->store(table_name);
 
1849
        session->getClient()->store(operator_name);
 
1850
        session->getClient()->store(warning_level_names[err->level].str,
1851
1851
                               warning_level_names[err->level].length);
1852
 
        session->client->store(err->msg);
1853
 
        if (session->client->flush())
 
1852
        session->getClient()->store(err->msg);
 
1853
        if (session->getClient()->flush())
1854
1854
          goto err;
1855
1855
      }
1856
1856
      drizzle_reset_errors(session, true);
1857
1857
    }
1858
 
    session->client->store(table_name);
1859
 
    session->client->store(operator_name);
 
1858
    session->getClient()->store(table_name);
 
1859
    session->getClient()->store(operator_name);
1860
1860
 
1861
1861
    switch (result_code) {
1862
1862
    case HA_ADMIN_NOT_IMPLEMENTED:
1864
1864
        char buf[ERRMSGSIZE+20];
1865
1865
        uint32_t length=snprintf(buf, ERRMSGSIZE,
1866
1866
                             ER(ER_CHECK_NOT_IMPLEMENTED), operator_name);
1867
 
        session->client->store(STRING_WITH_LEN("note"));
1868
 
        session->client->store(buf, length);
 
1867
        session->getClient()->store(STRING_WITH_LEN("note"));
 
1868
        session->getClient()->store(buf, length);
1869
1869
      }
1870
1870
      break;
1871
1871
 
1872
1872
    case HA_ADMIN_OK:
1873
 
      session->client->store(STRING_WITH_LEN("status"));
1874
 
      session->client->store(STRING_WITH_LEN("OK"));
 
1873
      session->getClient()->store(STRING_WITH_LEN("status"));
 
1874
      session->getClient()->store(STRING_WITH_LEN("OK"));
1875
1875
      break;
1876
1876
 
1877
1877
    case HA_ADMIN_FAILED:
1878
 
      session->client->store(STRING_WITH_LEN("status"));
1879
 
      session->client->store(STRING_WITH_LEN("Operation failed"));
 
1878
      session->getClient()->store(STRING_WITH_LEN("status"));
 
1879
      session->getClient()->store(STRING_WITH_LEN("Operation failed"));
1880
1880
      break;
1881
1881
 
1882
1882
    case HA_ADMIN_REJECT:
1883
 
      session->client->store(STRING_WITH_LEN("status"));
1884
 
      session->client->store(STRING_WITH_LEN("Operation need committed state"));
 
1883
      session->getClient()->store(STRING_WITH_LEN("status"));
 
1884
      session->getClient()->store(STRING_WITH_LEN("Operation need committed state"));
1885
1885
      open_for_modify= false;
1886
1886
      break;
1887
1887
 
1888
1888
    case HA_ADMIN_ALREADY_DONE:
1889
 
      session->client->store(STRING_WITH_LEN("status"));
1890
 
      session->client->store(STRING_WITH_LEN("Table is already up to date"));
 
1889
      session->getClient()->store(STRING_WITH_LEN("status"));
 
1890
      session->getClient()->store(STRING_WITH_LEN("Table is already up to date"));
1891
1891
      break;
1892
1892
 
1893
1893
    case HA_ADMIN_CORRUPT:
1894
 
      session->client->store(STRING_WITH_LEN("error"));
1895
 
      session->client->store(STRING_WITH_LEN("Corrupt"));
 
1894
      session->getClient()->store(STRING_WITH_LEN("error"));
 
1895
      session->getClient()->store(STRING_WITH_LEN("Corrupt"));
1896
1896
      fatal_error=1;
1897
1897
      break;
1898
1898
 
1899
1899
    case HA_ADMIN_INVALID:
1900
 
      session->client->store(STRING_WITH_LEN("error"));
1901
 
      session->client->store(STRING_WITH_LEN("Invalid argument"));
 
1900
      session->getClient()->store(STRING_WITH_LEN("error"));
 
1901
      session->getClient()->store(STRING_WITH_LEN("Invalid argument"));
1902
1902
      break;
1903
1903
 
1904
1904
    default:                            // Probably HA_ADMIN_INTERNAL_ERROR
1907
1907
        uint32_t length=snprintf(buf, ERRMSGSIZE,
1908
1908
                             _("Unknown - internal error %d during operation"),
1909
1909
                             result_code);
1910
 
        session->client->store(STRING_WITH_LEN("error"));
1911
 
        session->client->store(buf, length);
 
1910
        session->getClient()->store(STRING_WITH_LEN("error"));
 
1911
        session->getClient()->store(buf, length);
1912
1912
        fatal_error=1;
1913
1913
        break;
1914
1914
      }
1937
1937
    session->endTransaction(COMMIT);
1938
1938
    session->close_thread_tables();
1939
1939
    table->table=0;                             // For query cache
1940
 
    if (session->client->flush())
 
1940
    if (session->getClient()->flush())
1941
1941
      goto err;
1942
1942
  }
1943
1943