Question: I started learning C++ using a ebook and got interupted by a few lines, which I think are a bit outdated. Anyway, what I am trying to do is using a preprocessor directive as a function parameter which isnt working:

```
#define TitleLabelId 1000;

//....

hTitleText = CreateWindow(L"STATIC",
                          L"Test Text",
                          WS_VISIBLE | WS_CHILD,
                          0, 0,
                          300, 20,
                          hWnd,
                          (HMENU)TitleLabelId,
                          hInst,
                          NULL);

```

This gives me an compile error, while this will give me a correct result:

```
HMENU hm = (HMENU)TitleLabelId;

hTitleText = CreateWindow(L"STATIC",
                          L"Test Text",
                          WS_VISIBLE | WS_CHILD,
                          0, 0,
                          300, 20,
                          hWnd,
                          (HMENU)TitleLabelId,
                          hInst,
                          NULL);

```

I tried to outsource the Label Text aswell but unfortunateley it didnt work either using the following directive:

```
#define TitleText L"Blob Color War";

```

Is it anything with the syntax I have overseen? Thanks in advance!

Answer: 
```
rm metastore_db/*.lck

```

It works for me, too.
It can be found in your `home/user` directory. You can use the `locate` command to find it:
`locate metastore_db` 

After removing the lock files, close the current session. 
Call hive shell in new session
this could due to more than one "metastore\_db". Remove "metastore\_db", restart hadoop cluster and open hive shell from $HIVE\_HOME/bin folder