# JuliaDB column names

**URL:** <https://discourse.julialang.org/t/juliadb-column-names/24250>\
**Category:** General Usage\
**Tags:** juliadb\
**Created:** [May 15, 2019, 6:27pm UTC](https://discourse.julialang.org/t/juliadb-column-names/24250 "2019-05-15T18:27:57Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![alphasig329](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alphasig329/32/9794_2.png) [@alphasig329](https://discourse.julialang.org/u/alphasig329)\
**Post date:** [May 15, 2019, 6:27pm UTC](https://discourse.julialang.org/t/juliadb-column-names/24250/1 "2019-05-15T18:27:57Z")

</div>

I have pulled data from an Oracle database using `JDBC` and collected the results using the following code:

```julia
oracle_cursor = JDBC.cursor(oracle_connection)
execute!(oracle_cursor, "SQL STATEMENT")

column_names = map(x -> Symbol(x), JDBC.colnames(JDBC.Source(oracle_cursor))) 
advstand_data = JuliaDB.table(collect(JDBC.rows(oracle_cursor))) 

```

The resulting JuliaDB is `Tuple{String,Union{Missing, String},String,String,Float32}` which is not a Named Tuple and has `colnames(advstand_data) = (1, 2, 3, 4, 5)`. I am trying to use `JuliaDB.renamecol` to change the column names.

The following code does not change the column name:  
`advstand_data = renamecol(advstand_data, colnames(advstand_data)[1], :COLUMN_1)`

The following code has the following error:

```julia
ERROR: 1 not found. Cannot rename it.
Stacktrace:
 [1] rename!(::ColDict{IndexedTable{StructArray{Tuple{String,Union{Missing, String},String,String,Float32},1,NamedTuple{(:x1, :x2, :x3, :x4, :x5),Tuple{WeakRefStrings.StringArray{String,1},WeakRefStrings.StringArray{Union{Missing, String},1},WeakRefStrings.StringArray{String,1},WeakRefStrings.StringArray{String,1},Array{Float32,1}}}}}}, ::Symbol, ::Symbol) at C:\Users\jmbyars\.julia\packages\IndexedTables\DgX0A\src\columns.jl:471
 [2] renamecol(::IndexedTable{StructArray{Tuple{String,Union{Missing, String},String,String,Float32},1,NamedTuple{(:x1, :x2, :x3, :x4, :x5),Tuple{WeakRefStrings.StringArray{String,1},WeakRefStrings.StringArray{Union{Missing, String},1},WeakRefStrings.StringArray{String,1},WeakRefStrings.StringArray{String,1},Array{Float32,1}}}}}, ::Symbol, ::Vararg{Symbol,N} where N) at C:\Users\jmbyars\.julia\packages\IndexedTables\DgX0A\src\columns.jl:505
 [3] top-level scope at none:0

```

Is there any recommendations on fixing the column names?

---

<div class="post-metadata">

**Author:** ![quinnj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/quinnj/32/11_2.png) [@quinnj](https://discourse.julialang.org/u/quinnj)\
**Post date:** [May 15, 2019, 7:15pm UTC](https://discourse.julialang.org/t/juliadb-column-names/24250/2 "2019-05-15T19:15:24Z")

</div>

cc: @joshday @piever

---

<div class="post-metadata">

**Author:** ![joshday](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/joshday/32/368_2.png) [@joshday](https://discourse.julialang.org/u/joshday)\
**Post date:** [May 15, 2019, 7:39pm UTC](https://discourse.julialang.org/t/juliadb-column-names/24250/3 "2019-05-15T19:39:13Z")

</div>

You can use `columns` to extract the tuple of vectors and create a new table (without copying the data):

```julia
using JuliaDB

t = table(1:10,rand(10))

table(columns(t)..., names=(:x, :y), copy=false)

```

---

<div class="post-metadata">

**Author:** ![alphasig329](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/alphasig329/32/9794_2.png) [@alphasig329](https://discourse.julialang.org/u/alphasig329)\
**Post date:** [May 16, 2019, 1:27am UTC](https://discourse.julialang.org/t/juliadb-column-names/24250/4 "2019-05-16T01:27:33Z")

</div>

Thanks for the reply. I’ll try it out tomorrow to see if it fixes my problem. I am relatively new to Julia as I am trying to redo the daily tasks I do in R in Julia. I have seen the `...` in several programming examples. What does it mean in Julia?

---

<div class="post-metadata">

**Author:** ![kevin.squire](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevin.squire/32/62_2.png) [@kevin.squire](https://discourse.julialang.org/u/kevin.squire)\
**Post date:** [May 16, 2019, 2:11am UTC](https://discourse.julialang.org/t/juliadb-column-names/24250/5 "2019-05-16T02:11:55Z")

</div>

`...` is the splat operator. See [Frequently Asked Questions · The Julia Language](https://docs.julialang.org/en/v1/manual/faq/index.html#What-does-the-)…-operator-do?-1

Cheers,  
Kevin
