How to create a view from Bigquery REST api - google-bigquery

Is it possible to create a view in Bigquery from REST api.
Please let me know if possible.
please share some sample code.
thanks,
Chandan Reddy

You can create a view by calling tables.insert with a table resource containing a "view" property.
https://developers.google.com/bigquery/docs/reference/v2/tables#resource

The following code works .. !!
Table content= new Table();
TableReference tableReference= new TableReference();
tableReference.setTableId("ViewName");
tableReference.setDatasetId("DataSetName");
tableReference.setProjectId(getProjectId());
content.setTableReference(tableReference);
ViewDefinition view= new ViewDefinition();
view.setQuery("SELECT * FROM [DataSetName.TableName]");
content.setView(view);
System.out.println(content);
bigquery.tables().insert(getProjectId(), "DataSetName", content).execute();

As per the documentation, that's not possible at the moment.
https://developers.google.com/bigquery/querying-data#views
The supported ways of creating a view are the command line tool and the web interface. You can programatically invoke the command line tool and then use the table "patch" method via REST to update the query used for the view if necessary.

Related

How can we make an Item in socialengine?

I know how to get an item of the particular table. Like for user we can have
$userItem = Engine_Api::_()->getItem("user", $userId);
or for a custom table
$customItem = Engine_Api::_()->getItem("custom", $customeId);
I want to know the code or method how can I make my $customItem to work the same way as $userItem works for users table. So that I can get data or manipulate the data of custom table
Thanks for your help. :-)
You can achieve that by creating a model. Check how it's done in /application/modules/User/Model. There is User.php file that declares User_Model_User and methods available for User such as getTitle, get Href etc.
You may use similar approach for your custom item. You will also need to create a file similar to /application/modules/User/Model/DbTable/User.php to declare table for your custom items.

Retrieve view Informations 1010data

I have a view in my 1010data base and it has created by someone else I want to identify its description and is their a direct api call to get that information.
Already tried with following Commands. it gave following errors.
using dir api endpoint.
<out>
<rc>15</rc>
<msg>Not a directory: xxx.views.test</msg>
</out>
using tabinfo endpoint.
<out>
<rc>22</rc>
<msg>Not currently implemented for Quick Query: XXX.views.test</msg>
</out>
Is their a command to see the structure of view and related tables?
I can retrieve column names using querydata api end point but i cannot get informations related to linked tables.
Is their a command or endpoint to get this information.
Something like Show create view in Mysql :)
Have you tried gettab ?
documentation is here:
https://www2.1010data.com/documentationcenter/beta/XMLAPI/TableManagement/XMLAPI-gettab.html
It says there "If the table is a query (i.e., type is VIEW, PARAM, MERGED or TOLERANT) then the tab element will contain ops and dependencies elements. Any dependencies on other tables (i.e., links, merges) are available in the element, which contains a list of table references if the table is a Quick Query or a merged table."
Can you please confirm if that works for you?
Thank you!

Maximo - Adding elements to a CustomMboSet using scripting

Is it possible to add to a CustomMboSet in Maximo using scripting? I am writing a custom application using a custom object called TIMESHEET. As part of the application I am writing a (Jython) script that needs to dynamically build up an MboSet (a set of TIMESHEETs). The code retrieves an existing CustomMboSet and attempts to add elements to it. It works when using an out of box MboSet, but when I try to run the same code on a custom MboSet it does not seem to work. No error is thrown, but code below the offending line is not run.
In other words, this works (LABTRANS is an out of box MBO):
myMboSet = mbo.getMboSet("LABTRANS")
newMbo = myMboSet.add()
# Set attributes on newMbo, everything is happy
But this does not (TIMESHEET is a custom MBO):
myMboSet = mbo.getMboSet("TIMESHEET")
newMbo = myMboSet.add()
# Code does not execute after the above line
Anyone have any insight as to why I am seeing this behavior? Does the Maximo scripting framework simply not support the dynamic building up of CustomMboSets? Any help is appreciated. Thanks.
You need to make sure that the relationship exists between the Current MBO and the Custom MBO in the database configuration otherwise it will not work.
Alternatively you can use the following code to create an new mboSet on the fly:
timeSheetMboSet = mxServer.getMboSet("TIMESHEET", userInfo)
mbo.getMboSet(RELATIONSHIPNAME).
LABTRANS and TIMESHEET must be the relationship names to the object in auto script.
If you want to get/add records in any object, use
mxServer.getMboSet(OBJECTNAME, userInfo)
A bit more explanation. You can create your own custom relationship from within your automation script. The trick is to make sure it's not already existing. That's why I use a dollar sign for mine.
variable = mbo.getMboSet(tempRelationshipName,Object,where clause)
previousPhaseSet = mbo.getMboSet("$wophasetranstemp1", "exitdate is null")

How view sections by id

I have database table called sections (id,name,keywords). I have section.ctp file want show on it the section which its
$id = $this->Session->read('secId');
but i don't know how do this on cakephp . Is it I need to pass variables on sessions? .
in what file I should put sessions vairables
You can pass variable through set method in controller action not using session and you can use it in your view. You can use cake bake command to bake section controller, model and view. For more info how to use cake bake command, please visit here
Hope it helps. (vote and select the answer if it helps)

Displaying Custom Attributes in Documentum - Webtop

I am following an article that explains how to use the ICustomAttributeDataHandler class.
I am creating a custom column for the inbox screen, but the problem is that the value I set for my custom attribute is not being reflected on the screen.
As a test I am changing the task name to "whoKnows". But this code is not effecting what is output on the screen:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
(I am able to print debug lines from my custom class when the inbox is viewed, so I know my code is being run.)
Someone on the comments of that article wrote:
the user must call the
"setCustomAttributesInQuery() method
on the dataprovider passing in a
string array of the custom attributes
...what does that meen? Could this be my problem?
thanks.
To be honest, I have already used Webtop, but just as an user. I found a post in the dm developer discussion group that can be useful, though:
For creating a custom column in the
doclist you dont need to go through
this complex procedures. You can use
custom attribute datahandlers for
this.
First in your object list component xml file add your custom column
definition in the "columns" tag. You
can even add static columns instead of
the documentum attributes.
Now create a class which implements the ICustomAttributeDataHandler.
Implement the default the methods getRequiredAttributes and the getData
function.
In getRequiredAttributes add attributes of the object that you are
looking for.
In your getdata method retrieve each row and then based on the
attribute that you see, just set the
value that you want to. 6) Finally
define your class in the app.xml file
There is a section in WDK developement
guide regarding
ICustomAttribuetDataHandlers. Look for
the topic named "Adding custom
attributes to a datagrid".
I'm not sure if this is the final solution, but I hope it helps!
To answer you question about setCustomAttributesInQuery()
every datagrid in WDK is backed by an underlying data provider. You can get this proivder by using the following code.
Datagrid datagrid = (Datagrid)getControl("doclist_grid",com.documentum.web.form.control.databound.Datagrid.class);
DataProvider dp = datagrid.getDataProvider();
Once you've done that, you can call
dp.setCustomAttributesInQuery(myArr);
I'm not actually sure if this is part of the solution to your problem, but you could try this and see where it gets you.
You have to configure the inbox component.
if using classic view, go to inboxlist component and add your custom attribute.
<column>
<attribute>CustomAttributeName</attribute>
<label>Custom Attribute Label</label>
<visible>true</visible>
</column>
Your custom attribute has to be in a custom type that is a sub type of dmi_queue_item, because inboxlist shows only dmi_queue_item objects.
Hope this helps,
Regards,
Tejas.
This may be a non-issue, but based on your code, I can't tell if you're doing this:
ICustomAttributeRecordSet.setCustomAttributeValue(i, "taskName", "whoKnows");
or this:
ICustomAttributeRecordSet rs;
rs.setCustomAttributeValue(i, "taskName", "whoKnows");
You should be calling the setCustomAttributeValue method on the rs object instance, not on the interface.