I am pretty confused by the deprecation of the numeric table ids and the introduction of encrypted table ids. I was hoping someone else could shed some light on the significance of this move.
Why would just the "SHOW TABLES", "CREATE TABLE" and "CREATE VIEW" support or return the encrypted table ids. Why don't the other queries like "SELECT" or "INSERT" use the encrypted table ids? What is the reasoning behind this?
So, is the "encid=true" another querystring param that needs to be added to the url alongside the sql or does the sql parameter value itself contain "SHOW TABLES encid=true"? This is not very clear in the docs and the latter option didn't work for me.
Would the "encid=false" option work after the deprecation to return the table's numeric id?
If I use the "encid=true" option to get the encrypted id in my app, how would i go about getting the numeric table id thru code (not manually)? Since I still do need the numeric table ids for the "SELECT", "INSERT", "UPDATE", "DELETE" queries?
Thank You,
Vish
The encid parameter determines how table ids are returned. SHOW TABLES, CREATE TABLE, and CREATE VIEW are the only queries that return table ids in the response, and, hence, the only queries that are affected by the parameter.
Both numeric and encrypted table ids are accepted by the SQL API, no parameter required. So, if you're running a SELECT query, you can use the encrypted table id rather than the numeric table id. Here's an example request:
https://www.google.com/fusiontables/api/query?sql=SELECT+*+FROM+15UY2pgiz8sRkq37p2TaJd64U7M_2HDVqHT3Quw
The encid is a parameter that needs to be added to the URL in addition to the sql parameter. An example request is:
https://www.google.com/fusiontables/api/query?sql=SHOW+TABLES&encid=true
Eventually numeric table ids will be deprecated. The encid parameter is offered to give developers a chance to test and update their code to make sure it is working in time for the deprecation.