Do not allow creating tables with empty name

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0
    • Affects Version/s: None
    • Component/s: Schema Management
    • None
    • Storage Engines, Storage Engines - Persistence
    • 0.071
    • None
    • None

      WiredTiger currently allows creating tables with empty names, which arguably should not be the case.

      The following is a quick demonstration that this succeeds:

      import wiredtiger, wttest
      
      # test_schema10.py
      #    Test using an empty string as a table name (URI "table:").
      class test_schema10(wttest.WiredTigerTestCase):
      
          # Creating a table with an empty name succeeds.
          def test_empty_name_create(self):
              uri = "table:"
              self.session.create(uri, "key_format=S,value_format=S")
      
              c = self.session.open_cursor(uri, None, None)
              c["key"] = "value"
              c.reset()
              c.set_key("key")
              self.assertEqual(c.search(), 0)
              self.assertEqual(c.get_value(), "value")
              c.close()
      

      The particularly interesting fact is that this creates file .wt, which is normally hidden, and you have to use the ls -a option to reveal it, e.g.:

      wiredtiger$ ls -al build/WT_TEST/test_schema10.test_schema10.test_empty_name_create
      total 132
      drwxrwxrwx 2 peter.macko peter.macko   237 Jun  4 16:50 .
      drwxrwxr-x 5 peter.macko peter.macko   200 Jun  4 16:50 ..
      -rw-rw-rw- 1 peter.macko peter.macko 20480 Jun  4 16:50 .wt
      -rw-rw-rw- 1 peter.macko peter.macko    50 Jun  4 16:50 WiredTiger
      -rw-rw-rw- 1 peter.macko peter.macko   364 Jun  4 16:50 WiredTiger.basecfg
      -rw-rw-rw- 1 peter.macko peter.macko    21 Jun  4 16:50 WiredTiger.lock
      -rw-rw-rw- 1 peter.macko peter.macko  1574 Jun  4 16:50 WiredTiger.turtle
      -rw-rw-rw- 1 peter.macko peter.macko 32768 Jun  4 16:50 WiredTiger.wt
      -rw-rw-rw- 1 peter.macko peter.macko  4096 Jun  4 16:50 WiredTigerHS.wt
      -rw-rw-rw- 1 peter.macko peter.macko 53746 Jun  4 16:50 WiredTigerStat.04.16
      -rw-rw-rw- 1 peter.macko peter.macko     0 Jun  4 16:50 stderr.txt
      -rw-rw-rw- 1 peter.macko peter.macko     0 Jun  4 16:50 stdout.txt
      -rw-rw-rw- 1 peter.macko peter.macko    51 Jun  4 16:50 testname.txt
      

            Assignee:
            Peter Macko
            Reporter:
            Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: