Question: I use old way to provide the data to vertex buffer in OpenGL

```
glGenBuffers(1, buffer);
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(pos), pos, GL_STATIC_DRAW);
glVertexAttribPointer(1, 3, GL_FLOAT, GL_FALSE, 0, 0);
glEnableVertexAttribArray(1);

```

Since OpenGL 4.3 there a new slightly more clear way to provide data to vertex shader appears

```
const GLfloat colors[] =
{
    1.0f, 0.0f, 0.0f,
    0.0f, 1.0f, 0.0f,
    0.0f, 0.0f, 1.0f
};
glBindVertexBuffer(1, buffer, 0, 3 * sizeof(GLfloat));

glVertexAttribFormat(1, 3, GL_FLOAT, GL_FALSE, 0);
glVertexAttribBinding(1, 1);
glEnableVertexAttribArray(1);

```

but I can't find any resources explaining how to provide data using new way. Of course I can do like this

```
glBindBuffer(GL_ARRAY_BUFFER, buffer);
glBufferData(GL_ARRAY_BUFFER, sizeof(colors), colors, GL_STATIC_DRAW);
glBindBuffer(GL_ARRAY_BUFFER, 0); //i can do even so, and later I can use glBindVertexBuffer

```

but it looks not really elegant. If I will not use glBindBuffer and only use glBindVertexBuffer and then use glBufferData, I'll overwrite data in buffer that was bind using glBindBuffer. 

So question is: can I provide data to vertex buffer other way or I should always use glBindBuffer, glBufferData and only after that use glBindVertexBuffer, glVertexBufferFormat, glVertexAttribFormat and glVertexAttribBinding. Thank you!

Answer: 
I don't see any issue with the SQL.

On my **12c** database, no issues:

```
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> create table x(id number);

Table created.

SQL> create table y(c_id number);

Table created.

SQL> insert into x values(1);

1 row created.

SQL> insert into y values(1);

1 row created.

SQL> insert into y values(2);

1 row created.

SQL> SELECT *
  2  FROM y LEFT OUTER JOIN x
  3  ON x.id=y.c_id;

      C_ID         ID
---------- ----------
         1          1
         2

```

On **11g R2**, see this [**SQL Fiddle**](http://sqlfiddle.com/#!4/1b877a/2).
could you try this

```
 SELECT table1.* ,table2.*
 FROM table1 LEFT OUTER JOIN table2
 ON table1.id=table2.c_id

```